VS編寫MFC程序中報錯:無法將參數 1 從“const char [19]”轉換爲“LPCTSTR” 解決方法!

問題描述:

最近在用VS開發MFC程序的時候,發現使用MessageBox函數彈出對話框的時候有關漢字部分會報錯:
錯誤    C2664    “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 無法將參數 1 從“const char [19]”轉換爲“LPCTSTR”    Demo    c:\users\administrator\desktop\demo\demo\demodlg.cpp    112    

發現程序的所有問題都是這個問題,原來是因爲VS在使用MFC的時候字符集默認是的 使用 Unicode 字符集

(Unicode(統一碼、萬國碼、單一碼)是計算機科學領域裏的一項業界標準,包括字符集、編碼方案等。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每個字符設定了統一併且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公佈。)

解決方法:

只需要將原先默認的 使用 Unicode 字符集 換成使用 使用多字節字符集 ,具體方法如下所示:

右擊項目選擇項目屬性

然後通過屬性-->常規-->字符集-->使用多字節字符集,完成設置。

點擊確定之後,原先報錯的紅色波浪線應該就消失了,再次編譯,沒有問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章