xmlt.net
当前位置:首页 >> vC++2010中Const ChAr* 不能初始化Const wChAr_t*... >>

vC++2010中Const ChAr* 不能初始化Const wChAr_t*...

_T修饰 表示 wchar_t unsigned short (16-bit) 而 char 是8位的 去掉_T看看 或 工程类型的编码试试

wchar_t temp[155]; MultiByteToWideChar(CP_ACP, NULL, name, 155, temp, 155); TRACE(temp);

const wchar_t 是宽字符 占2个字节 const char 只占用1个字节

wchar_t宽字符和char是有区别的,char是1个字节,而宽字符wchar是2个字节,类型不同,所以传递参数失败!可以用wchar代替char解决这个问题!

这是宽字节和非UNICODE多字节方式的转换,要争取显示,不能使用强制转换。 两种方式,对变量到w变量,使用: WideCharToMultiByte、MultiByteToWideChar相互转换 对常量到变量,可以简单的使用: CString str = _T("hello world");

你的代码中temp变量中有 a,b,m...

CString::GetBuffer()返回的类型是LPTSTR。 我们查看LPTSTR的定义: #ifdef UNICODE // r_winnt typedef LPWSTR PTSTR, LPTSTR; #else /* UNICODE */ // r_winnt typedef LPSTR PTSTR, LPTSTR; #endif /* UNICODE */ // r_winnt 在看LPWSTR和LPS...

chartowchar不是库函数 , 是你自己定义的函数,定义的时候原型应该是: wchar_t chartowchar( char* ); string::data( )返回的是const char* 从const char*到char*时不能直接转换的, 解决方式: chartowchar( const_cast( data.data( ) ); 但...

buffer = (unsigned char *)malloc(bufsize); strcpy((char *)buffer, strExecuteSQL.GetBuffer(strExecuteSQL.GetLength())); ===> memcpy((char *)buffer, (char*)strExecuteSQL.GetBuffer(strExecuteSQL.GetLength()),strExecuteSQL.GetLengt...

网站首页 | 网站地图
All rights reserved Powered by www.xmlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com