一个LPCTSTR类型的变量pszOutput, 用TRACE("%s", pszOutput)可以正常打印, 但是SetWindowText显示为乱码
函数如下:
void CDemoRedirector::WriteStdOut(LPCTSTR pszOutput)
{
TRACE("%s", pszOutput);
if (m_pWnd != NULL)
{
m_pWnd->SetWindowText(pszOutput);
}
}
传进来时是
TCHAR szOutput[256];
DWORD dwRead = 0;
if (!::ReadFile(m_hStdoutRead, szOutput, min(256, dwAvail),
&dwRead, NULL) || !dwRead) // error, the child might ended
break;
WriteStdOut(szOutput);
TRACE中可以正常打印出中英文, 但是SetWindowText中显示的全是乱码, 改如何修改?