void Log(wchar_t *szLog,...)
{
va_list args = NULL;
va_start(args,szLog);
wchar_t szBuf[2049] = {0};
//vprintf(szBuf,args);
vswprintf(szBuf,2048,szLog,args);
va_end(args);
time_t tm;
time(&tm);
struct tm *ltm = localtime(&tm);
wchar_t szTime[64] = {0};
swprintf(szTime,64,L"%d:%d:%d",ltm->tm_hour,ltm->tm_min,ltm->tm_sec);
wstring strLog = L"\r\n[Test] ";
strLog += szTime;
strLog += L" ";
strLog += szBuf;
strLog += L"\r\n";
wprintf(strLog.c_str());
}
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t wch[] = L"China Test Program";
//! 有的系统,特别是linux ,不能正确输出字符串,原因是没有正确读取宽字符流
正确格式:%ls 或者 %S
Log(L"Joseph: :%ls ",wch);
getchar();
return 0;
}