Content deleted Content added
m grammar |
Fixed up a section |
||
Line 7:
:<code>FILE * freopen(const char *path, const char *mode, FILE * restrict stream);</code>
The <code>fdopen</code> function is not standard in C89 or C99, but is an extension used in POSIX environments and imitated elsewhere.
The '''mode''' parameter is a string that begins with one of the following sequences:
r Open a text file for reading
w Truncate file to zero length or create text file for writing
a Append: open or create text file for writing at end-of-file
rb Open a binary file for reading
wb Truncate file 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 file 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 file 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
The C standard gives two kinds of files: text files and binary files, although operating systems may or may not distinguish between the two. A ''text file'' is a file consisting of text arranged in lines with some sort of distinguishing end-of-line character or sequence (in [[Unix]], a bare linefeed character; in the [[Macintosh]] OS, a bare carriage return; on [[MS-DOS]] and [[Microsoft Windows]], a carriage return followed by a linefeed). When bytes are read in from a text file, an end-of-line sequence is usually mapped to a linefeed for ease in processing. When a text file is written to, a bare linefeed is mapped to the OS-specific end-of-line character sequence before writing. A ''binary file'' is a file where bytes are read in "raw", and delivered "raw", without any kind of mapping.
|