我正在使用linux \ unix操作系統。當我跑下面的代碼時,我得到2個輸出。下面提到:獲取2個輸出爲相同的代碼
一)12345- B)1-2-3-4-5-
任何人都可以讓我知道爲什麼和怎樣上述2個輸出來了?
int main()
{
int i, n, pfds[2];
char c, buf[80];
pipe(pfds);
if (fork() == 0)
{
for (c='1'; c<='5'; c++)
write(pfds[1], &c, 1);
}
else
{
close(pfds[1]);
while ((n = read(pfds[0], buf, sizeof(buf))) > 0)
{
write(1, buf, n);
write(1, "-", 1);
}
}
return 0;
}
fflush只會影響他不使用的stdio緩衝區(fwrite和其他)。 – 12431234123412341234123