gpt4 book ai didi

windows - WideCharToMultiByte 什么时候 lpUsedDefaultChar 为真?

转载 作者:可可西里 更新时间:2023-11-01 09:49:39 28 4
gpt4 key购买 nike

我想了解 WideCharToMultiByte,我想知道 lpUsedDefaultChar 什么时候会被设置为 TRUE。

这里有一个示例:lpszW 应该是什么才能使标志设置为真?

lpszW = L”__WHAT SHOULD_BE_HERE__”;
int c = ??;
BOOL fUsedDefaultChar = false;
DWORD dwSize = WideCharToMultiByte(CP_ACP, 0, lpszW, c, myOutStr ,myOutLen, NULL, &fUsedDefaultChar);

http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx

任何用于理解 Unicode/UTF 内容的书籍/教程都会很棒。

谢谢!

最佳答案

当前代码页中不存在的任何内容都将映射到 ? (默认情况下)并且 UsedDefaultChar 将为 != FALSE。

Windows-1252可能是最常见的代码页和大多数字符 map to the same value在 unicode 中。

Ω (ohm)例如,无论您当前的代码页是什么,它都可能不存在,因此不会映射到有效的窄字符:

BOOL fUsedDefaultChar=FALSE;
DWORD dwSize;
char myOutStr[MAX_PATH];
WCHAR lpszW[10]=L"Hello";
*lpszW=0x2126; //ohm sign, you could also use the \u2126 syntax if your compiler supports it.
dwSize = WideCharToMultiByte(CP_ACP, 0, lpszW, -1, myOutStr ,MAX_PATH, NULL, &fUsedDefaultChar);
printf("%d %s\n",fUsedDefaultChar,myOutStr); //This prints "1 ?ello" on my system

关于windows - WideCharToMultiByte 什么时候 lpUsedDefaultChar 为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720024/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com