如何在Windows上动态调整管道缓冲区的大小

时间:2018-12-21 01:51:57

标签: c windows libc msvcrt crt

Windows c运行时中的_pipe函数指定类型为unsigned int的size参数,该参数是要为管道数据保留的字节数。

如何在不占用空间的情况下连续进行管道传输?我会创建一个很大的管道缓冲区吗?我可以将管道冲洗到其他存储设备吗?

此示例程序演示了可能发生的问题:

int pipefd[2];
_pipe(pipefd, 1, _O_TEXT); // pipe size of 1 byte

int write_result = _write(pipefd[1], "good-bye", 9); // OOPS, wrote 9 bytes
// more writes ....

_close(pipefd[1]);

_pipe msdn docs

0 个答案:

没有答案