NOMBRE¶
dprintf, vdprintf - imprimen en un descriptor de fichero
SINOPSIS¶
#define _GNU_SOURCE
#include <stdio.h>
int dprintf(int fd, const char *format, ...);
int vdprintf(int fd, const char *format, va_list
ap);
DESCRIPCIÓN¶
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.
OBSERVACIONES¶
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.
VÉASE TAMBIÉN¶
printf(3)