Next: Operations on C Streams, Previous: File content encoding, 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.