繁体   English   中英

C ++ DLL特殊字符

[英]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编码。

参考文献


  1. 函数的Unicode版本和ANSI版本 ,已访问2014-06-06, <http://zone.ni.com/reference/en-XX/help/371361J-01/lvexcodeconcepts/unicode_ansi_version_functs/>
  2. ASCII表查找 ,访问2014-06-06, <http://www.theasciicode.com.ar/extended-ascii-code/capital-letter-a-ring-uppercase-ascii-code-143.html>
  3. Unicode查找 ,已访问2014-06-06, <http://unicodelookup.com/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM