DOKK / manpages / debian 10 / manpages-es / dprintf.3.es
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, habitualmente alguna versión de depuración de printf, tal vez con un prototipo 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, probablemente, sea mejor evitar esta función en programas que se pretenden que sean portables.

Un nombre mejor hubiera sido fdprintf.

printf(3)

18 diciembre 2001 GNU