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

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

wchar_t str[10] = _T("my string"); 加 _T 表示UNICODE宽字符

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...

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

std::string ws2s(const std::wstring& ws) { std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C"; setlocale(LC_ALL, "chs"); const wchar_t* _Source = ws.c_str(); size_t _Dsize = 2 * ws.size() + 1; char *_Dest = new...

使用 A2W 宏, void StringFunc(LPSTR lpsz){ USES_CONVERSION; LPWSTR x = A2W(lpsz); // Do something with x wprintf_s(L"x is %s", x);}或者自己使用 MultiByteToWideChar

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

错误说的很明确了,你用一个长度为3,数据类型为char的数组,给一个char变量赋值,当然是错的 char a="00"; 改成 char a[3]="00"; 或者 char *a="00"; 但考虑到你的 wchar_t getWeekName(wchar_t f); 参数是wchar_t, 而 typedef unsigned short...

闲着没事,给你个例子吧。 #include class A { const char* m_p; public: A (char* p) : m_p (p) {} void show () { cout

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

while(cc!='!') //"!"是个char* 换成'!',双引号括起来的是字符串指针,单引号括起来的才是字符

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