我遇到一个小问题:
{
printf ("abc");
execl("./prog","prog",NULL);
}
一切正常,但为什么execl
只在printf
之前运行?有人能帮助我吗?
答案 0 :(得分:6)
printf
实际上先运行,但它的输出是缓冲的。
您可以通过在字符串末尾添加换行符(\n
)或致电fflush(stdout)
来刷新缓冲区:
printf("abc\n");
或者:
printf("abc");
fflush(stdout);