Next: Operations on C Streams, Previous: Shared Files, Up: The Implementation of Standard I/O
Open and Create calls result in a call to fopen
using the mode shown in the following table:
   
Open and Create Call Modes                                    OPEN            CREATE
     Append_File                    "r+"             "w+"
     In_File                        "r"              "w+"
     Out_File (Direct_IO)           "r+"             "w"
     Out_File (all other cases)     "w"              "w"
     Inout_File                     "r+"             "w+"
If text file translation is required, then either `b' or `t' is added to the mode, depending on the setting of Text. Text file translation refers to the mapping of CR/LF sequences in an external file to LF characters internally. This mapping only occurs in DOS and DOS-like systems, and is not relevant to other systems.
A special case occurs with Stream_IO.  As shown in the above table, the
file is initially opened in `r' or `w' mode for the
In_File and Out_File cases.  If a Set_Mode operation
subsequently requires switching from reading to writing or vice-versa,
then the file is reopened in `r+' mode to permit the required operation.