fopen ¶POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/fopen.html
Gnulib module: fopen or fopen-gnu
Portability problems fixed by either Gnulib module fopen or fopen-gnu:
off_t is a 32-bit type, fopen may not work
correctly with files 2 GiB and larger. See Large File Support.
Portability problems fixed by Gnulib module fopen-gnu:
O_EXCL), introduced in ISO C11,
on some platforms:
FreeBSD 8.2, NetBSD 6.1, OpenBSD 5.6, Minix 3.2, AIX 6.1, HP-UX 11.31, Solaris 11.3, Cygwin 1.7.16 (2012), mingw with MSVCRT, MSVC 14.
O_CLOEXEC),
introduced into a future POSIX revision through
https://www.austingroupbugs.net/view.php?id=411, on some platforms:
glibc 2.6, macOS 14, FreeBSD 9.0, NetBSD 5.1, OpenBSD 5.6, Minix 3.2, AIX 7.2, HP-UX 11.31, Solaris 11.3, Cygwin 1.7.16 (2012), mingw, MSVC 14.
Portability problems not fixed by Gnulib:
errno
upon failure.
'\n' to CR/LF by default. Use the
"b" flag if you need reliable binary I/O.
fstat after open and
fdopen, rather than fopen and fileno.