Transfer from http://blog.csdn.net/todd911/article/details/8976543
R to open a read-only file, the file must exist.
The r+ has read and write properties, starting with the file header and preserving content that is not overwritten in the original file. The file must exist.
W Open Write-only file, if the file exists then the file length is clear to 0, that is, the contents of the file will disappear. If the file does not exist, the file is created.
w+ Open a read-write file, if the file exists then the file length is clear to zero, that is, the contents of the file will disappear. If the file does not exist, the file is created.
A write-only file opens in an additional way. If the file does not exist, the file will be created, and if the file exists, the data written will be added to the end of the file, that is, the original content of the file will be retained.
A + opens readable and writable files in an additional way. If the file does not exist, the file will be created, and if the file exists, the data written will be added to the end of the file, that is, the original content of the file will be retained.
A and A + online are as follows:
The "a" mode does not clear the EOF flag until the data is added. After adding the data, the MS-dos TYPE command only displays the data to the original EOF flag and does not appear to be added later.
The "A +" mode clears the EOF flag and displays all data with the MS-dos TYPE command after the data is added. The "A +" mode requires a stream input that ends with the CTRL + Z EOF flag.
But I experimented with Linux, using a and A +, writing the same characters, no EOF is the same problem:
For example, the original file content is ABC, if using a mode added 123, then read the file, encountered EOF stop the output, the last display abc123, if according to the above, should only show ABC.
If you use a + mode, the final display is also abc123.
So the above statement is not established under Linux, it may be used under Windows.
Finally, the description in the man fopen in Linux:
A Open for appending (writing at end of file). The file is created if it does not exist. The
Stream is positioned at the end of the file.
A + Open for reading and appending (writing at end of file). The file is created if it does not
Exist. The initial file position for reading are at the beginning of the file, but output is
Always appended to the end of the file.
There is no mention of EOF on the above.
Fopen's mode