Я использую linux \ unix os. Когда я побежал ниже кода, я получаю 2 выхода. Упомянутый ниже:Получение 2 выходов для одного и того же кода
а) 12345- б) 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