gpt4 book ai didi

c++ - 如何使用 wcstombs 而不是 WideCharToMultiByte ?

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:43 28 4
gpt4 key购买 nike

wcstombs 有三个参数。

WideCharToMultiByte 有八个参数,

如何替换?

如何使用wcstombs这样写:

int kk = WideCharToMultiByte(936, 0, szBn, ccBn+1, 0, 0, 0, 0);

如何使用wcstombs这样写:

int kk= WideCharToMultiByte(936,
0,
szBn,
ccBn+1,
kkburr,
(ccBn+1)*sizeof(wchar_t),
0,
0)

一样吗?

最佳答案

WideCharToMultiBytewcstombs 相比,它做了一些非常不同的事情,所以至少有点怀疑¹这个替换是否会成功。

具体来说,WCTMB 将 UTF-16 转换为您选择的另一种字符集(和编码)。 wcstombs从“宽字符串”转换为“多字节字符串”,但标准将这些术语的确切定义留给了实现者。

换句话说:WCTMB 从一种已知编码转换为另一种已知编码。 wcstombs 将未知编码转换为另一种未知编码。你不能用后者替换前者,特别是如果你想转换成中文编码(那不就是 936 吗?)。

寻求进行此替换的原因是什么?无论是什么,几乎可以肯定有更合适的方法来实现目标。

更新:如果您想要一个独立于平台的可靠解决方案,那么我推荐 ICU .不要指望找到 WCTMB 的单线替代品,因为它根本不存在。


¹ 轻描淡写

关于c++ - 如何使用 wcstombs 而不是 WideCharToMultiByte ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752591/

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