kazmax - Linux で自宅サーバー

dprintf - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 注意
  5. 準拠
  6. 関連項目

名前

dprintf, vdprintf - ファイルディスクリプターに文字出力する

書式

#define _GNU_SOURCE
#include <stdio.h>
int dprintf(int fd , const char * format , ...);
int vdprintf(int fd , const char * format , va_list ap );

説明

(glibc2 ライブラリにおける) dprintf ()関数と vdprintf ()関数とは、それぞれ fprintf ()関数と vfprintf ()関数とにちょうど対応するが、 これらは (前もって与えられたストリームではなく) ファイルディスクリプター fd に対して出力を行う。

注意

これらの関数は GNU の拡張であり、C や POSIX のものではない。 見てわかるとおり、名前の付け方はあまり良くない。 多くのシステム (MacOS など) には、 dprintf ()という名前の、これとは互換でない関数があり、 たいていはなんらかのデバッグ用の printf ()になっている。プロトタイプは
void dprintf (int level, const char * format , ...);
で、最初のパラメータはデバッグレベルになっている (また出力は stderr に行われる)。 さらに、 dprintf ()(あるいは DPRINTF )はデバッグ処理用の printf のマクロとしても良く用いられる。 したがって恐らく、移植性を必要とするプログラムでは、 この関数は用いないほうが良いだろう。
より良い名前は fdprintf ()だったかと思われる。

準拠

これらの関数は GNU による拡張である。

関連項目