获取cout输出到std :: string

ven*_*rty 33 c++ cout stdstring

我有以下cout声明.我使用char数组,因为我必须传递vsnprintf给转换变量参数列表并存储Msg.

我们有什么方法可以cout输出到C++ std::string

char Msg[100];
char appname1[100];
char appname2[100];
char appname3[100]; 

// I have some logic in function which some string is assigned to Msg.
std::cout << Msg << " "<< appname1 <<":"<< appname2 << ":" << appname3 << " " << "!" << getpid() <<" " << "~" << pthread_self() << endl;
Run Code Online (Sandbox Code Playgroud)

Bjö*_*lex 62

你可以用cout一个替换stringstream.

std::stringstream buffer;
buffer << "Text" << std::endl;
Run Code Online (Sandbox Code Playgroud)

您可以使用访问字符串buffer.str().

  • @Hossein,确实这不适用于`printf`,在这种情况下你必须使用[`snprintf`](http://en.cppreference.com/w/cpp/io/c/fprintf). (2认同)