我正在努力解决产品中的SECURITY CODING
违规问题。我的代码有很多sprintf
,但是Coverity
工具建议我使用snprintf
,不过C++也有std::stringstream
。用std::stringstream
代替snprintf
是一个好主意吗?
我正在努力解决产品中的SECURITY CODING
违规问题。我的代码有很多sprintf
,但是Coverity
工具建议我使用snprintf
,不过C++也有std::stringstream
。用std::stringstream
代替snprintf
是一个好主意吗?
std::stringstream
是类型安全的,使用运算符<<,使用内部缓冲区,是C++的一部分,但速度不如sprintf
。
sprintf
不是类型安全的,不使用c++运算符,使用外部缓冲区,使用省略号,只能处理POD类型,继承自C,速度快。