使用带重音的单词会出错

Use of word with accent give an error

本文关键字:单词会 出错      更新时间:2023-10-16

我正在使用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:CBProjectsListFmain.cpp|46|error: converting to execution character set: Invalid argument|

我正在使用宽字符(wchar_t*),但是如果我将"Portão"替换为"Portao"(没有重音),它就可以了,为什么?我该如何解决这个问题?

我正在使用代码::块IDE与MinGW编译器。

C++具有源字符集和执行字符集的概念。基本上源字符集是关于带有代码的文件中的字符,执行字符集是关于编译器中的内部字符串表示。请查看此堆栈溢出问题以获取有关此主题的更多详细信息。