在文件描述符上使用fwrite /将文件描述符转换为文件指针

时间:2010-07-22 02:07:41

标签: c linux sockets serialization fwrite

最近,我一直致力于一些小型数据序列化演示。但是,我想知道如何将二进制数据从结构传输到文件描述符。

我知道唯一(简单)的方法是通过fwrite(如果write执行此操作,请说明),那么是否存在:

A)在文件描述符上使用fwrite调用?

B)在现有文件描述符/套接字周围创建FILE *的方法,与fileno相反?

2 个答案:

答案 0 :(得分:5)

使用fdopen

答案 1 :(得分:0)

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()的倒数。