_vftprintf中文乱码问题
有如下代码:voidLog(LPCTSTRtszFormat,...){va_listap;va_start(ap,tszFormat);_vftprintf(stdou...
有如下代码:
void Log(LPCTSTR tszFormat, ...)
{
va_list ap;
va_start(ap, tszFormat);
_vftprintf(stdout, tszFormat, ap);
va_end(ap);
}
int main()
{
Log(_T("%d. %s%lf\n\n"), 9, _T("哈哈哈"), 20);
return 0;
}
运行结果为:
请问怎么解决?谢谢。
工程已设置成Unicode。
代码改成如下:
FILE* g_pFile = NULL;
void Log(LPCTSTR tszFormat, ...)
{
va_list ap;
va_start(ap, tszFormat);
_vftprintf(g_pFile, tszFormat, ap);
va_end(ap);
}
int main()
{
g_pFile = _tfsopen(_T("E:\\PC\\Desktop\\Z_tmp.txt"), _T("w"), _SH_DENYNO);
ASSERT(g_pFile != NULL);
Log(_T("%d. %s%lf\n\n"), 9, _T("哈哈哈"), 20);
fclose(g_pFile);
return 0;
}
打开文件后发现还是乱码,请问代码改怎么改。谢谢。 展开
void Log(LPCTSTR tszFormat, ...)
{
va_list ap;
va_start(ap, tszFormat);
_vftprintf(stdout, tszFormat, ap);
va_end(ap);
}
int main()
{
Log(_T("%d. %s%lf\n\n"), 9, _T("哈哈哈"), 20);
return 0;
}
运行结果为:
请问怎么解决?谢谢。
工程已设置成Unicode。
代码改成如下:
FILE* g_pFile = NULL;
void Log(LPCTSTR tszFormat, ...)
{
va_list ap;
va_start(ap, tszFormat);
_vftprintf(g_pFile, tszFormat, ap);
va_end(ap);
}
int main()
{
g_pFile = _tfsopen(_T("E:\\PC\\Desktop\\Z_tmp.txt"), _T("w"), _SH_DENYNO);
ASSERT(g_pFile != NULL);
Log(_T("%d. %s%lf\n\n"), 9, _T("哈哈哈"), 20);
fclose(g_pFile);
return 0;
}
打开文件后发现还是乱码,请问代码改怎么改。谢谢。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询