gpt4 book ai didi

c++ - 在 Windows Mobile 上使用 WideCharToMultiByte

转载 作者:行者123 更新时间:2023-11-30 02:59:53 24 4
gpt4 key购买 nike

我有为 Win32(XP 和更高版本)设计的代码,我正在移植到 Windows Mobile 6。它包含以下行:

int count = ::WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, ..., 0, 0 );

在 Windows XP 上,这工作正常,但在 Windows Mobile 上它返回 0 并且 GetLastError() 返回错误 1004“无效标志”。 WC_NO_BEST_FIT_CHARS 在 Windows Mobile 6 SDK 的 winnls.h 中定义。

如果我将调用替换为 ::wcstombs 或将 WC_NO_BEST_FIT_CHARS 替换为 0,此代码将在我的有限测试中工作。

我想知道进行这些更改中的任何一个的后果是什么。如果我在中文版或俄文版 Windows Mobile 上运行我的程序,这仍然有效吗?

最佳答案

Windows Mobile 基于 Windows CE,根据文档,WideCharToMultiByte does not support the flag WC_NO_BEST_FIT_CHARS in Windows CE .

根据该页面,支持的标志是:

WC_COMPOSITECHECK   Convert composite characters to precomposed characters.WC_DISCARDNS        Discard nonspacing characters during conversion.WC_SEPCHARS         Generate separate characters during conversion.                    (This is the default conversion behavior).WC_DEFAULTCHAR      Replace exceptions with the default character during conversion.

关于c++ - 在 Windows Mobile 上使用 WideCharToMultiByte,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12569766/

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