簡體   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