2012-07-20 78 views
2

我正在處理在我的產品中刪除SECURITY CODING違規行爲。我的代碼有很多sprintf,覆蓋率工具暗示我使用snprintf,但C++也有std::stringstream。這將是一個好主意,在地方使用std::stringstreamsnprintfsnprintf vs std :: stringstream

+0

它取決於你認爲重要的東西,如果它是性能的,使用snprintf,如果它是類型安全的,則使用stringstream – 2012-07-20 07:23:17

回答

6

std::stringstream是類型安全的,使用運營商< <,使用內部緩衝區,C++的一部分,沒有那麼快爲sprintf
sprintf不是類型安全的,不使用C++操作符,使用外部緩衝區,使用elipsis,它只能用於從C繼承的POD類型,速度很快。