我需要一个C函数,它返回格式化字符串的最终长度,这样我就可以正确地分配目标字符串,而不是自己计算长度.snprintf由于无法编写整个字符串,这就是其中的一个,但不幸的是,它没有广泛的字符替代品.
swprintf 如果出现错误则返回-1,而不是所需的长度(为什么不是相同的行为?!?)
提到的标题asprintf似乎也没有帮助,因为它只提供非宽版本.
_vscwprintf 可以在Windows上使用,但我需要一个跨平台,标准版本或至少一个Linux版本,我将#ifdef代码.
有任何想法吗?谢谢!
POSIX 2008 添加了该open_wmemstream函数,该函数与 一起vfwprintf,完全可以满足您的需要。它以前是 GNU 扩展,因此它已经在 GNU 系统上可用很长时间了。
这可以很容易地用于构造awprintf包装器。
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |