在Linux上替代MS vsprintf_s的方法是什么?

6

我正在将Windows下的C++代码转换为Linux下可用,然后遇到了这个函数"vsprintf_s"。它是Microsoft特有的函数,所以我想问一下,在Linux中是否有替代品? 谢谢。


3
关于*_s()函数不能直接通过非Microsoft库使用(例如在Linux或Mac OS X上不可用),请参阅您是否使用TR 24731“安全”函数?。不,它不能直接使用。您可以通过使用vsnprintf()函数来实现类似的功能,但调用序列(有多个区别)之间肯定存在差异。 - Jonathan Leffler
1
请参考这里 - Martin
@Martin,这个链接解决了_vscprintf函数的问题,该函数与vsprintf_s函数不同。 - Khalid Ismail
1个回答

5
linux.die.net网站介绍,vsnprintf()函数似乎是一个合适的替代品。

4
很接近,但溢出处理行为相当不同。vsprintf_s在尝试溢出时会终止程序。而vsnprintf则截断输出并继续执行。 - user4581301

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接