我正在使用WinAPI在C ++中创建一个简单的程序,请参阅下面的代码:
CreateWindowW(L"STATIC", L"Portão", WS_CHILD | WS_VISIBLE, 10, 10, 100, 20, hwnd, (HMENU)ID_LABEL1, NULL, NULL);
上面的代码是在主窗体上创建一个静态控件,问题是第二个参数使用带有重音的巴西葡萄牙语单词(Portão表示Gate),并且它给出了一个错误,错误是:
C:\CBProjects\ListF\main.cpp|46|error: converting to execution character set: Invalid argument|
我正在使用宽字符(wchar_t *),但是如果我将“Portão”替换为“Portao”(没有重音符号),它可以正常工作,为什么?我该如何解决这个问题?
我正在使用Code :: Blocks IDE和MinGW Compilator。
答案 0 :(得分:0)
C ++包含源字符集和执行字符集的概念。基本上,源字符集是关于文件中带有代码的字符,执行字符集是关于编译器中的内部字符串表示。 有关此主题的更多详细信息,请查看this堆栈溢出问题。