c++ 将cout输出更改为std :: string

我有以下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;
最佳答案
您可以用stringstream替换cout。

std::stringstream buffer;
buffer << "Text" << std::endl;

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

转载注明原文:c++ 将cout输出更改为std :: string - 代码日志