Wiki Markup |
---|
The C standard identifies specific strings to use for the {{mode}} on calls to {{fopen()}} \[[ISO/IEC 9899-1999|AA. C References#ISO/IEC 9899-1999]\] . To be strictly conforming and portable, you must use one of these stringsone of the strings from the following table (adapted from the C standard) must be used: |
| Result |
---|---|
r | open text file for reading |
w | truncate to zero length or create text file for writing |
a | append; open or create text file for writing at end-of-file |
rb | open binary file for reading |
wb | truncate to zero length or create binary file for writing |
ab | append; open or create binary file for writing at end-of-file |
r+ | open text file for update (reading and writing) |
w+ | truncate to zero length or create text file for update |
a+ | append; open or create text file for update, writing at end-of-file |
r+b or rb+ | open binary file for update (reading and writing) |
w+b or wb+ | truncate to zero length or create binary file for update |
a+b or ab+ | append; open or create binary file for update, writing at end-of-file |
...
An implementation may define additional mode strings, but only the modes in the following table (adapted from the C99 standard) above table are fully portable and C99 compliant:.
Risk Assessment
Using a mode string that is not recognized by an implementation may cause the call to fopen()
to fail.
...