2

最近、私はいくつかの小さなデータシリアル化のデモに取り組んでいます。しかし、構造体からファイル記述子にバイナリデータを転送する方法を考えていました。

fwriteこれを行う唯一の(簡単な)方法は(これを行う場合writeは、そう言ってください)を介することであることを私は知っているので、次のいずれかがあります:

A)fwriteファイル記述子で使用するための呼び出し?

また

B)?FILE *の反対のように、既存のファイル記述子/ソケットの周りを作成する方法。fileno

4

2 に答える 2

5

fdopenを使用します。

于 2010-07-22T02:10:14.277 に答える
1

A)とB)の両方に答えがあります:

A)はい、write()ファイル記述子の場合はfwrite()ファイルポインタの場合と類似しています。

if (fwrite(&foo, sizeof foo, 1, fp) < 1)
     /* Not successful */

また

if (write(fd, &foo, sizeof foo) < sizeof foo)
    /* Not immediately successful */

B)Matt Joinerが言うように、はのfdopen()逆ですfileno()

于 2010-07-22T02:40:01.607 に答える