DPRINTF(3) Manual del Programador de Linux DPRINTF(3)
dprintf, vdprintf - imprimen en un descriptor de fichero
#define _GNU_SOURCE
#include <stdio.h>
int dprintf(int fd, const char *format, ...);
int vdprintf(int fd, const char *format, va_list ap);
Las funciones dprintf y vdprintf (localizadas en la biblioteca glibc2)
son análogas a fprintf y vfprintf, salvo que su salida va a un
descriptor de fichero fd en lugar de a un flujo dado.
Estas funciones son extensiones de GNU, no se encuentran ni en C ni en
POSIX. Obviamente, los nombre fueron mal elegidos. Muchos sistemas
(como MacOS) tienen funciones incompatibles llamadas dprintf, habitual‐
mente alguna versión de depuración de printf, tal vez con un pro‐
totipo como
void dprintf (int level, const char *format, ...);
donde el primer parámetro es un nivel de depuración (y la salida va a
stderr). Además, dprintf (o DPRINTF) es también un popular nombre de
macro para una versión de depuración de printf. Asà que, probable‐
mente, sea mejor evitar esta función en programas que se pretenden que
sean portables.
Un nombre mejor hubiera sido fdprintf.
printf(3)
GNU 18 diciembre 2001 DPRINTF(3)