我想从FIFO读取,但我不了解它的行为。 这是写的一面,为write.c:从FIFO读取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
,我不理解这个,“备份”在哪里?
请参见[MCVE] – KevinDTimm