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 回答