风飞向何处 发表于 2012-11-07 15:28

关于进程的\n 的问题

下面一段代码去掉红色标注行的\n就会有和原来的结果不样
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int main(void)
{
int pid;
// ①
pid=fork();
// ②   
if(pid==0)
{
    sleep(3);            
    printf("Child: pid=%d, ppid=%d\n", getpid(), getppid());         
}
else         
{   
    printf("Parent: Child=%d, pid=%d, ppid=%d\n", pid, getpid(), getppid());
    wait();
    printf("After Child ends.\n");      
}
}

请大神指导!!!!

aimeme 发表于 2012-11-07 23:35

不加\n应该是不会刷新缓冲到屏幕的吧,直到进程退出将那句输出来...

buzz-lin 发表于 2012-11-08 11:43

就是缓冲区的问题
看下这个文章把 就都清楚了
http://coolshell.cn/articles/7965.html
页: [1]
查看完整版本: 关于进程的\n 的问题