<div><div dir="auto">With V5/V6 C I/O was a lot like what Larry was describing for getopts(3) it was all over over the map.  There was the portable I/O library which I sort of think of as the prequel to studio but I don’t remember uSing it much.  I must have run into most of the different ways people did I/O in some program(s) but I don’t remember any one off hand.</div></div><div dir="auto"><br></div><div dir="auto">I think the thing to remember is that at the time system programming languages such as C and Bliss were noted for not having I/O built into the language- it was supported externally.  DEC (CMU) with Bliss had rich set of libraries (often in assembler already available) and force/matched by them with their users.  Unix and C grew up independently which I think is part of why it was a tad more random.   BY the time dmr adds stdio, it was still early enough in the life to displace the randomness for something as important as I/O, whereas lack of use of something.like getopt would not become clearly deficient until after widespread success. </div><div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 9, 2018 at 12:37 PM Random832 <<a href="mailto:random832@fastmail.com">random832@fastmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, Jul 1, 2018, at 07:34, <a href="mailto:ron@ronnatalie.com" target="_blank">ron@ronnatalie.com</a> wrote:<br>
> The bigger issue with the early printf is it just called putchar and <br>
> putchar only output to stdout or what ever the global fout variable was <br>
> set to.<br>
> There was a comment in the manual that the fout concept was kludgy.<br>
<br>
V6 'iolib' printf has an interesting approach to fixing this:<br>
<br>
If the first argument was 0 through 9, it was taken to be a file descriptor, and the second argument was the format string. If it was -1, the second argument was the output string (as for later sprintf), and the third was the format string. Otherwise, the first argument was the format string.<br>
<br>
(I'm curious as to how much "iolib" was actually used, since it doesn't appear to have been included by default - there was a different printf routine in libc)<br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Sent from a handheld expect more typos than usual</div>