ファイル記述子を提供するmkstemp()
で遊んでいますが、fprintf()
を介してフォーマットされた出力を生成したいです。 mkstemp()
で提供されるファイル記述子をfprintf()
での使用に適したFILE *
構造に変換する簡単な方法はありますか?
fdopen()
を使用します。
FILE* fp = fdopen(fd, "w");
FILE* f = fdopen(d, "w");
man fdopenの出力:
あらすじ
_#include <stdio.h>
FILE *
fdopen(int fildes, const char *mode);
_
fdopen()
関数は、ストリームを既存のファイル記述子fildes
に関連付けます。ストリームのモードは、ファイル記述子のモードと互換性がなければなりません。fclose(3)
を介してストリームが閉じられると、fildes
も閉じられます。