9.286 fopen
POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/functions/fopen.html
Gnulib module: fopen
Portability problems fixed by Gnulib:
- This function does not fail when the file name argument ends in a slash
and (without the slash) names a nonexistent file or a file that is not a
directory, on some platforms:
HP-UX 11.00, AIX 7.1, Solaris 9, Irix 5.3.
- On platforms where
off_t
is a 32-bit type, fopen
may not work
correctly with files larger than 2 GB. (Cf. AC_SYS_LARGEFILE
.)
- On Windows platforms (excluding Cygwin), this function does usually not
recognize the /dev/null filename.
Portability problems not fixed by Gnulib:
- On Windows platforms (excluding Cygwin), this function does not set
errno
upon failure.
- On Windows, this function returns a file stream in “text” mode by default;
this means that it translates
'\n'
to CR/LF by default. Use the
"b"
flag if you need reliable binary I/O.
- On Windows platforms (excluding Cygwin), this function fails to open
directories for reading. Such streams have implementation-defined
semantics on other platforms. To avoid directory streams with a
consistent error message, use
fstat
after open
and
fdopen
, rather than fopen
and fileno
.