我正在尝试使用一些测试程序来理解fork()。我发现cout和printf()之间存在不同的行为:
程序1:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int main()
{
printf("Hi , %d\n" , getpid());
fork();
return 0;
}
我得到:
你好,9375
你好,9375
程序2:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int main()
{
cout << "Hi , " <<getpid() << endl;
fork();
return 0;
}
我的理解是:
大家好,7277
这两个程序唯一的区别就在于第一个使用了printf()
来打印输出,而第二个使用了cout
有人可以解释一下吗? 谢谢