help!!!!!!!!一词之差。cout和printf互换怎么结果这么大相差。
#include <windows.h>
#include<stdio.h>
#include <iostream>
using namespace std;
DWORD WINAPI ThreadProc(LPVOID lpParam)
{
int i=0;
while (i<20)
{
cout<<"I am from a Thread,count="<<i++<<endl;
}
return 0;
}
int main()
{
HANDLE hThead;
DWORD dwTheadID;
//创建一个线程
hThead=CreateThread(
NULL,
NULL,
ThreadProc, //进程入口地址
NULL,
0, //指定线程立即运行
&dwTheadID);
//为什么这个cout不行,而换成printf("Now another thread has been created. ID=%d\n",dwTheadID)
//却可以输出正确的。
//在此处换cout和printf[/color[/color]]
cout<<"Now another thread has been created. ID="<<dwTheadID<<endl;
//等待新线程运行结束。
::WaitForSingleObject(hThead,INFINITE);
::CloseHandle(hThead);
return 0;
}
使用cout的输出结果
Now anothI am from a Threer thread has beenad,count=0
I am fr created. ID=3592
om a Thread,count=1
I am from a Thread,count=2
I am from a Thread,count=3
I am from a Thread,count=4
I am from a Thread,count=5
I am from a Thread,count=6
I am from a Thread,count=7
I am from a Thread,count=8
I am from a Thread,count=9
I am from a Thread,count=10
I am from a Thread,count=11
I am from a Thread,count=12
I am from a Thread,count=13
I am from a Thread,count=14
I am from a Thread,count=15
I am from a Thread,count=16
I am from a Thread,count=17
I am from a Thread,count=18
I am from a Thread,count=19
Press any key to continue
printf的输出结果
Now another thread has been created. ID=2852
I am from a Thread,count=0
I am from a Thread,count=1
I am from a Thread,count=2
I am from a Thread,count=3
I am from a Thread,count=4
I am from a Thread,count=5
I am from a Thread,count=6
I am from a Thread,count=7
I am from a Thread,count=8
I am from a Thread,count=9
I am from a Thread,count=10
I am from a Thread,count=11
I am from a Thread,count=12
I am from a Thread,count=13
I am from a Thread,count=14
I am from a Thread,count=15
I am from a Thread,count=16
I am from a Thread,count=17
I am from a Thread,count=18
I am from a Thread,count=19
Press any key to continue
为什么会出现这样的问题?