Linux |
CentOS 4.8 |
|
dprintf(3) |
dprintf, vdprintf − Ecriture formatée dans un descripteur de fichier |
#define _GNU_SOURCE int dprintf(int fd, const char *format, ...); int vdprintf(int fd, const char *format, va_list ap); |
Les fonctions dprintf et vdprintf (telles qu’elles apparaissent dans la librairie glibc2) sont les homologues parfaites de fprintf et vfprintf, si ce n’est qu’elles écrivent dans un descripteur de fichier fd plutôt que dans un flux donné. |
Ces fontions sont des extensions GNU et ne sont pas présentes dans les standards C ou POSIX. Les noms ont clairement été mal choisis. Plusieurs systèmes (comme MacOs) possèdent des fonctions incompatibles appelées dprintf, qui sont généralement des versions de debug de printf, et qui ont potentiellement un prototype tel que void dprintf (int level, const char *format, ...); où le premier paramètre est le niveau de debug (et où la sortie est redirigée vers stderr). De plus, dprintf (ou DPRINTF) est également le nom d’une macro bien connue fournissant une version debug de printf. Il vaut donc mieux éviter d’utiliser cette fonction dans les programmes souhaitant être portables. fdprintf aurait été un meilleur nom. |
printf(3) |
Stéphan Rafin, 2002. |
dprintf(3) |