Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有谁知道如何为管道写一个数字,首先我必须打开管道,然后向它写入合适的数字。
此外,在写完之后,我还必须阅读数字并打印出来。
我试图用 'popen' 命令打开管道,但我不确定将什么作为 popen 的第一个参数,即:-
popen(const char *command, const char *type)
我想问如果我想写一个数字来管道我应该在这里给出什么命令..??
您应该fd=open(FIFO_NAME,O_RDONLY);用于读取 fifo 文件。
fd=open(FIFO_NAME,O_RDONLY);
mkfifo(FIFO_NAME,S_IFIFO|S_IRWXU|S_IRWXG|S_IRWXO); fd=open(FIFO_NAME,O_WRONLY);
fifo 也称为 pipe。这里 mkfifo 创建一个 fifo 文件并将其写入文件。
注意:-要读取或写入fifo,应该有一个读取器和写入器进程,否则它将阻塞其中一个进程。
如果你不想写一个进程来读取使用 cat 命令和写进程来查看 fifo 文件内容。