[英]C++ DLL special characters
我正在将用户生成的字符串从程序发送到我正在制作的C ++ DLL函数中。 正常工作,直到我发送类似“åäö”的字符串。 我的函数看起来像这样:
export void showMessage(char* str) {
MessageBox(NULL, str, "DLL says", MB_OK);
}
从程序发送“åäö”时,将弹出带有“åäö”的消息。 如何将其转换为“åäö”? 需要什么库? 我为DLL使用Code :: Blocks。
您正在使用的字符似乎在扩展的ASCII表中(值大于127),并且将取决于您使用的代码页,这是一种可移植的方法,因为运行代码的系统需要进行环境更改在程序本身之外。
代替使用MessageBox
,使用启用Unicode的版本MessageBoxW
,并查找指定字符的Unicode编码。
参考文献
<http://zone.ni.com/reference/en-XX/help/371361J-01/lvexcodeconcepts/unicode_ansi_version_functs/>
<http://www.theasciicode.com.ar/extended-ascii-code/capital-letter-a-ring-uppercase-ascii-code-143.html>
<http://unicodelookup.com/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.