我需要一个 C 函数来返回格式化字符串的最终长度,这样我就可以正确分配目标字符串,而不是自己计算长度。在snprintf
无法写入整个字符串的情况下,它会执行此操作,但不幸的是,它没有宽字符替代方案。
swprintf
在出错的情况下返回 -1,而不是所需的长度(为什么不一样的行为?!?)
提到的标题asprintf
似乎也没有帮助,因为它只提供了一个非宽版本。
_vscwprintf
可以在 Windows 上使用,但我需要一个跨平台、标准版本或至少一个 Linux 版本,我将 #ifdef 代码。
有任何想法吗?谢谢!