[英]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.