Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带重音的单词会产生错误 我用WiAPI创建C++中的简单程序,见下面的代码: CreateWindowW(L"STATIC", L"Portão", WS_CHILD | WS_VISIBLE, 10, 10, 100, 20, hwnd, (HMENU)ID_LABEL1, NULL, NULL);_C++_Winapi_Character Encoding - Fatal编程技术网

使用带重音的单词会产生错误 我用WiAPI创建C++中的简单程序,见下面的代码: CreateWindowW(L"STATIC", L"Portão", WS_CHILD | WS_VISIBLE, 10, 10, 100, 20, hwnd, (HMENU)ID_LABEL1, NULL, NULL);

使用带重音的单词会产生错误 我用WiAPI创建C++中的简单程序,见下面的代码: CreateWindowW(L"STATIC", L"Portão", WS_CHILD | WS_VISIBLE, 10, 10, 100, 20, hwnd, (HMENU)ID_LABEL1, NULL, NULL);,c++,winapi,character-encoding,C++,Winapi,Character Encoding,上面的代码是在主窗体上创建一个静态控件,问题是第二个参数使用了一个带重音的巴西葡萄牙语单词Portão means Gate,它给出了一个错误,错误是: C:\CBProjects\ListF\main.cpp|46|error: converting to execution character set: Invalid argument| 我使用的是宽字符wchar_t*,但如果我将Portão替换为不带重音的Portao,它就可以正常工作,为什么?我怎样才能解决这个问题 我正在使用Cod

上面的代码是在主窗体上创建一个静态控件,问题是第二个参数使用了一个带重音的巴西葡萄牙语单词Portão means Gate,它给出了一个错误,错误是:

C:\CBProjects\ListF\main.cpp|46|error: converting to execution character set: Invalid argument|
我使用的是宽字符wchar_t*,但如果我将Portão替换为不带重音的Portao,它就可以正常工作,为什么?我怎样才能解决这个问题


我正在使用Code::Blocks IDE和MinGW编译器。

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

该字符可能是扩展Unicode字符,编译器拒绝它。查找其Unicode值并在字符串中以\x0000的形式指定它。尝试使用对Windows开发不太陌生的编译器。可能是更好的选择。@xxbbcc在C++11中,字符实际上是\xe3或\u00e3。但这是一个解决办法,不是真正的解决办法。编译器应该能够将源输入转换为正确的Unicode字符。@MarkRansom我的意思是,我的注释是作为任何Unicode字符的通用解决方案。我应该写\u0000而不是\x。。。但是我不能再编辑评论了。我不知道那个特殊的字符,但我不认为这是一个解决办法-编译器不需要在编译过程中识别随机字符。如果文件未另存为UTF-8,则根据文件的字符集,该字符可能会被误解。在visual studio中,它可以正常工作,但如何在mingw中将当前表单转换为\x0000格式?