Opens for reading. If the file does not exist or cannot be found, the fopen call fails.
Opens an empty file for writing. If the given file exists,
its contents are destroyed.
Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file; creates the file first if it doesn’t exist.
Opens for both reading and writing. (The file must exist.)
Opens an empty file for both reading and writing. If the given file exists, its contents are destroyed.
Opens for reading and appending; the appending operation includes the removal of the EOF marker before new data is written to the file and the EOF marker is restored after writing is complete; creates the file first if it doesn’t exist.