-5

有谁知道如何为管道写一个数字,首先我必须打开管道,然后向它写入合适的数字。

此外,在写完之后,我还必须阅读数字并打印出来。

我试图用 'popen' 命令打开管道,但我不确定将什么作为 popen 的第一个参数,即:-

       popen(const char *command, const char *type)

我想问如果我想写一个数字来管道我应该在这里给出什么命令..??

4

1 回答 1

0

您应该fd=open(FIFO_NAME,O_RDONLY);用于读取 fifo 文件。

mkfifo(FIFO_NAME,S_IFIFO|S_IRWXU|S_IRWXG|S_IRWXO);
    fd=open(FIFO_NAME,O_WRONLY);

fifo 也称为 pipe。这里 mkfifo 创建一个 fifo 文件并将其写入文件。

注意:-要读取或写入fifo,应该有一个读取器和写入器进程,否则它将阻塞其中一个进程。

如果你不想写一个进程来读取使用 cat 命令和写进程来查看 fifo 文件内容。

于 2013-08-13T11:21:14.497 回答