gpt4 book ai didi

c++ - 有没有办法使用 _snprintf_s 确定目标缓冲区大小?

转载 作者:行者123 更新时间:2023-11-30 05:38:42 28 4
gpt4 key购买 nike

我目前使用 _snprintf(NULL,0,fmtStr, Str..),它返回缓冲区的所需大小。我分配它们,然后再次调用 _snprintf 来填充缓冲区。但目前 _snprintf 已被弃用,_snprintf_s 是推荐的函数。但是according to msdn如果没有事先分配缓冲区,它似乎不会返回长度。

有解决办法吗?

最佳答案

在 Windows 中:VS2015 之前:使用 _vscprintf() 获取扩展格式字符串的大小。分配内存并使用 vsnprintf_s() 执行实际的缓冲区填充。

Gcc/Windows-VS2015 以上版本:(感谢 Harry-Johnston 指出这一点)snprintf() 应该可用。使用 snprintf(NULL,0,...) 获取大小,分配内存,然后使用 snprintf(buffer,..) 执行实际的缓冲区填充。

关于c++ - 有没有办法使用 _snprintf_s 确定目标缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32598778/

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