vs iostream was created in 1998 and includes support for the 'old' libraries with .h were supplanted by the advent of vs is the definition of the 1997/8 C++ string class which standardized this type. is a library of routines applicable to C-strings. C-strings were null-terminated char arrays. Comparing C-strings requires string.h's strcmp(). Why? string can be compared with relops. But C-string compare with == compares memory addresses, not content. Many of the .h libraries were updated with a c prefix to be compatible with the 'modern' libraries with no .h file type. The open() command in C++ is called as a member of a stream object. Stream open() always succeeded. If file not found, it was created. Unix open() would not open a file if O_CREAT not specified. open2 Example Notes: Returned a 3 for the file descriptor even though an empty file was created. File was empty because none of O_RDONLY, O_WRONLY, nor O_RDWR were specified. The 3 was allocated because the next available file descriptor is allocated on an open(), unless otherwise configured (stay tuned!) Exercises on Slide 7 also should be attempted with file pointers and C++ streams. Other notes on I/O basics: O_APPEND forces every write to be at eof, even if a seek operation moved the file's internal pointer. You can read anywhere in a R/W file, but if O_APPEND is specified, all writes occur after a seek to eof. The Unix open() should not create a file under any circumstances if O_CREAT is not specified. read()/write() returns #bytes... 0--> eof.