snprintf与std::stringstream的区别

3

我正在努力解决产品中的SECURITY CODING违规问题。我的代码有很多sprintf,但是Coverity工具建议我使用snprintf,不过C++也有std::stringstream。用std::stringstream代替snprintf是一个好主意吗?


这取决于你认为什么更重要,如果是性能,使用snprintf,如果是类型安全性,使用stringstream。 - AndersK
1个回答

6

std::stringstream是类型安全的,使用运算符<<,使用内部缓冲区,是C++的一部分,但速度不如sprintf
sprintf不是类型安全的,不使用c++运算符,使用外部缓冲区,使用省略号,只能处理POD类型,继承自C,速度快。


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