snprintf c ++替代方案

ar2*_*015 1 c++ printf string-formatting c++11

如何将此代码从C转换为C++?

char out[61]; //null terminator
for (i = 0; i < 20; i++) {
    snprintf(out+i*3, 4, "%02x ", obuf[i])
}
Run Code Online (Sandbox Code Playgroud)

我找不到任何替代方案snprintf.

Vol*_*And 8

使用stringstream来自的课程<sstream>.

例如:

#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
using namespace std;

int main()
{
    stringstream ss;
    for (int i = 0; i < 20; i++) {
        ss << setw(3) << i;
    }
    cout << "Resulting string: " << endl;
    cout << ss.str() << endl;
    printf("Resulting char*: \n%s\n", ss.str().c_str() );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 认真地使用`stringstream`s然后通过`printf()`输出? (4认同)