vdprintf (3)

DPRINTF(3) Linux Programmer's Manual DPRINTF(3) NAME dprintf, vdprintf - print to a file descriptor SYNOPSIS #define _GNU_SOURCE #include <stdio.h> int dprintf(int fd, const char *format, ...); int vdprintf(int fd, const char *format, va_list ap); DESCRIPTION The functions dprintf() and vdprintf() (as found in the glibc2 library) are exact analogs of fprintf(3) and vfprintf(3), except that they out- put to a file descriptor fd instead of to a given stream. CONFORMING TO These functions are GNU extensions. NOTES These functions are GNU extensions, not in C or POSIX. Clearly, the names were badly chosen. Many systems (like MacOS) have incompatible functions called dprintf(), usually some debugging version of printf(3), perhaps with a prototype like void dprintf(int level, const char *format, ...); where the first parameter is a debugging level (and output is to stderr). Moreover, dprintf() (or DPRINTF) is also a popular macro name for a debugging printf. So, probably, it is better to avoid this func- tion in programs intended to be portable. A better name would have been fdprintf(). SEE ALSO printf(3), feature_test_macros(7) GNU 2001-12-18 DPRINTF(3)