源代码如下,如果使用注释部分的代码便可以在文件中输出,而直接使用代码则在控制台无任何反应,为什么?#include <stdio.h>
#include <windows.h>
#include <winbase.h>DWORD ThreadFunc(LPDWORD lpdwParam)
{
/*
FILE *f = fopen("test.txt", "wb");
fwrite(lpdwParam, sizeof(LPDWORD), 1, f);
fclose(f);
return 0;
*/
printf("%d", lpdwParam);
return 0;
}int main()
{
DWORD dwThreadId, dwThreadParam = 1;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFunc, &dwThreadParam, 0, &dwThreadId);
return 0;
}
#include <windows.h>
#include <winbase.h>DWORD ThreadFunc(LPDWORD lpdwParam)
{
/*
FILE *f = fopen("test.txt", "wb");
fwrite(lpdwParam, sizeof(LPDWORD), 1, f);
fclose(f);
return 0;
*/
printf("%d", lpdwParam);
return 0;
}int main()
{
DWORD dwThreadId, dwThreadParam = 1;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFunc, &dwThreadParam, 0, &dwThreadId);
return 0;
}
int main()
{
DWORD dwThreadId, dwThreadParam = 1;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFunc, &dwThreadParam, 0, &dwThreadId);
WaitForSingleObject(hThread ,WAIT_OBJECT_0);//等待工作线程结束
CloseHandle(hThread );
return 0;
}
没有进入线程
WaitForSingleObject(hThread ,WAIT_OBJECT_0);//等待工作线程结束
----------------------------------------------------------------
正确为WaitForSingleObject(hThread ,INFINITE);
其实文件中也不一定有信息的,多运行几次就能看到。