gpt4 book ai didi

c - asprintf 有 wchar_t 版本吗?

转载 作者:太空狗 更新时间:2023-10-29 17:10:18 25 4
gpt4 key购买 nike

我需要一个返回格式化字符串最终长度的 C 函数,这样我就可以正确分配目标字符串,而不是自己计算长度。有 snprintf 可以在无法写入整个字符串时执行此操作,但不幸的是,它没有宽字符替代方案。

swprintf 在错误的情况下返回 -1,而不是所需的长度(为什么不一样的行为?!?)

提到的标题 asprintf 似乎也没有帮助,因为它只提供了一个非宽版本。

_vscwprintf 可以在 windows 上使用,但我需要一个跨平台的标准版本,或者至少是一个 Linux 版本,我将#ifdef 代码。

有什么想法吗?谢谢!

最佳答案

POSIX 2008 添加了 open_wmemstream函数,与 vfwprintf 一起,完全满足您的需要。它以前是一个 GNU 扩展,因此在 GNU 系统上使用了很长时间。

这可以很容易地用于构造一个 awprintf 包装器。

关于c - asprintf 有 wchar_t 版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4809410/

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