有谁知道如何向管道写入数字,因为首先我必须打开管道,然后向其写入合适的数字。
另外,写完后我还必须读取数字并打印它。
我尝试使用“popen”命令打开管道,但我不确定将什么作为 popen 的第一个参数,即:-
popen(const char *command, const char *type)
我想问如果我想向管道写入一个数字,我应该在这里给出什么命令..??
最佳答案
您应该使用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也称为管道。这里mkfifo创建一个fifo文件并写入文件。
注意:- 要读取或写入 fifo,应该有一个读取器和写入器进程,否则它将阻塞其中一个进程。
如果不想写一个读取进程,可以使用cat命令,而写进程可以查看fifo文件内容。
关于c - 基于管道的进程间通信程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18205994/