NAME
dprintf, vdprintf - print to a file descriptor
SYNOPSIS
#define _GNU_SOURCE
#include <stdio.h>
I int dprintf(int fd , const char * format , ...);
I int vdprintf(int fd , const char * format , va_list ap );
DESCRIPTION
The functions
R dprintf ()
and
R vdprintf ()
(as found in the glibc2 library) are exact analogs of
fprintf(3)
and
vfprintf(3),
except that they output 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
R dprintf (),
usually some debugging version of
printf(3),
perhaps with a prototype like
I void dprintf(int level, const char * format , ...);
where the first parameter is a debugging level (and output is to
R stderr ).
Moreover,
R dprintf ()
(or
R DPRINTF )
is also a popular macro name for a debugging printf.
So, probably, it is better to avoid this function in programs
intended to be portable.
A better name would have been
R fdprintf ().
SEE ALSO