部分代码如下//////////////////////////////////////////////////////////while(true){.........................if(end==true){HFONT font=CreateFont(30,0,0,0,400,FALSE,FALSE,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("黑体"));SelectObject(HCO,font);wchar_t buf[64];const wchar_t n_buffer[64]={0};for(int j=0;j<64;j++){buf[j] = n_buffer[j];}_stprintf_s(buf,_T("%3d"),score);BitBlt(HCO,0,0,480,480,b_DC,0,0,SRCCOPY);SetTextColor(HCO,RGB(240,65,85));SetBkColor(HCO,RGB(0,0,0));TextOut(HCO,140,100,_T("此次输出结果为"),strlen("此次输出结果为"));TextOut(HCO,260,100,buf,(int)wcslen(buf));TextOut(HCO,330,100,_T("秒!"),strlen("秒!"));TextOut(HCO,20,160,_T("(按回车键返回,按ESC键退出)"),strlen("(按回车键返回,按ESC键退出)"));BitBlt(windowDC,0,0,480,480,HCO,0,0,SRCCOPY);if (GetAsyncKeyState(VK_RETURN) < 0){end=false;goto ag; //重新开始循环}if (GetAsyncKeyState(VK_ESCAPE)<0)goto ed; //结束程序}}//////////////////////////////////////////////////////////////////当显示“此次输出结果为 buf 秒!”时,如果在此画面停留一段时间,没有任何操作的话,显示结果就会变成“此次输出结果为 buf +一堆乱码”
2 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
用t函数可以:
WriteLine(FILE *pFile, const TCHAR*szOut, const TCHAR *szFmt)
{
TCHAR szTempBuf[4096];
memset(szTempBuf, 0x00, sizeof(szTempBuf));
_stprintf(szTempBuf, szOut, szFmt );
fwrite(szTempBuf, strlen(szTempBuf), 1, pFile);
}
添加回答
举报
0/150
提交
取消