c – 同时写入两个流
发布时间:2020-12-13 19:11:29 所属栏目:Linux 来源:网络整理
导读:有没有办法将两个流(或文件描述符)连接在一起,以便写入一个流也将写入第二个流? (C,Linux) 谢谢. 最佳答案 用户laalto是正确的,但在Linux上,您正在寻找的功能称为fopencookie.纠正laalto的Linux示例导致: int my_writefn(void *cookie,const char *data,in
有没有办法将两个流(或文件描述符)连接在一起,以便写入一个流也将写入第二个流? (C,Linux) 谢谢. 最佳答案
用户laalto是正确的,但在Linux上,您正在寻找的功能称为fopencookie.纠正laalto的Linux示例导致:
当您写入f时,系统将执行my_writefn函数,并将传递给fwrite的数据传递给它.为了简化操作,您可能还希望将文件流的缓冲更改为面向行:
这将缓冲传递给fwrite的数据,直到输出换行或从连接到进程的任何流(例如stdin)读取任何数据.注意:您必须在fopencookie之后但在将任何数据写入流之前调用sevbuf. 我使用行缓冲,因为我通常使用fopencookie将stderr重定向到syslog,或通过网络套接字,并且处理面向行的数据更容易,更有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |