问题描述
- vsnprintf在乐视手机上解析不了%d+中文字
-
//格式化函数
char mBuffer[256];
int format(char *fmt, ...)
{
va_list args;
int cnt;
va_start(args, fmt);
cnt = vsnprintf(mBuffer,256,fmt,args);
va_end(args);
return(cnt);
}
std::string info="%d点魔力";
format(info.c_str(),100);
CClog("mBuffer:%s",mBuffer);在其他设备上得到的结果是:100点魔力,而在乐视手机上得到的结果是:100
如果info="点魔力";则在所有的设备上得到的结果都是:点魔力,求解????如何解决???
解决方案
用wstring宽字符来处理中文
时间: 2024-08-19 21:34:17