安卓vsnprintf中文问题


 static bool MySprintf( LPTSTR szDst , size_t nSize , LPCTSTR szFmt , ... )
 {
 	assert( NULL != szDst && 0 < nSize || NULL != szFmt );

 	va_list args;
	va_start(args, szFmt);
	const bool bRet = ( 0 != vsnprintf( szDst , nSize , szFmt , args ) );//  2013-7-26 上午1:19:29
	va_end(args);

 	szDst[nSize-1] = '\0' ;
 	return bRet ;
 }

荣耀7(PLK-CL00)里无法处理中文,中文被截断,处理英文数字正常,怀疑内部实现的是UTF-8
酷派5360里处理中文正常,怀疑内部使用的是ANSIC

修改方法,全部改成std::string的加号操作符,或者std::ostringstream的<<操作符,所有手机都正常了

猜你喜欢

转载自blog.csdn.net/brook0344/article/details/83616209