E2034 Cannot convert 'wchar_t *' to 'const char *'
E2034 Cannot convert 'wchar_t *' to 'const char *' bcb2010怎麼修改啊
解決方法
2009和2010使用的是unicode碼
字符串前加L 表示寬字節
如: L"你好";
我解決了,用了CString str;
char * p=str.GetBuffer();
將項目-》屬性-》項目默認值-字符集改成 使用多字節字符集,然後重新生成解決方案,就好了。
lz 消失
鑑定完畢
不結貼就想跑?
也遇到了這個問題,想把字符串CString 轉成char *,不知道該怎麼做,高手指點啊~~謝謝啦
我用了下面的代碼,出現跟樓主一樣的錯誤。
char * pc=new char (tmp.GetLength()+1);
strncpy(pc,tmp.GetBuffer(tmp.GetLength()),tmp.GetLength());
pc[temp.GetLength()]='\0';
如果使用t_str(),必須保證工程選項中_TCHAR映射爲char才能返回char *數據。
用AnsiString來中轉
你用的是寬字符,可以用String的t_str()將寬字符串轉爲char 型字符串
如果想得到char *類型的字符串,可以用AnsiString轉化原UnicodeString字符串,再用c_str()輸出