<分区>
我正在尝试从 fifo 读取数据,但我不理解它的行为。 这是写入端,write.c:
for(int i = 1;i<argc;i++){
if(write(fifoFd,argv[i],strlen(argv[i])) <= 0)
perror("Error writing");
}
这是读取端,read.c:
char buf[1024];
while(1){
int b = read(fifoFd,buf,1024);
if(b<=0) break;
}
printf("%s\n",buf);
首先我开始 read.c ./read
然后我执行 ./write
如果我像这样执行写入 ./write backup *.txt
有时我会得到我预期的结果,即 backupexample1.txtexample2.txt
。
但有时我只得到 example1.txtexample2.txt
而我不明白这一点,“备份”在哪里?