錯誤:
不能從const char *轉換爲LPCWSTR
在VC 6.0中編譯成功的項目在VS2005 vs2005、vs2008、vs2010中常會出現這類型錯誤。
解決辦法:
方法一:可行的辦法是使用 _T(“TEST”)轉換。
另一種方法是:項目菜單——項目屬性(最後一個)——配置屬性——常規——項目默認值——字符集,將使用Unicode字符集改爲未設置即可。
原因:
這是由於字符編碼問題引起的。
VC6 默認使用的 MBCS(多字節字符集) 編碼,而 VS2010 及高版本 VS默認使用的 Unicode編碼。
UNICODE與MBCS或ANSI 有什麼區別呢?
簡單的說,UNICODE版的字符比ANSI 的內存佔用大,比如:Win32程式中出現的原來的標準定義 char 佔一個字節,而 char 的UNICODE版佔2個字節,被定義成這樣:typedef unsigned short wchar_t 。