相当于字符串赋值,值来自系统调用的标准输出
有demo的给个谢谢
可以啊,建议使用stringstream 类。
stringstream ss;cout.rdbuf(ss.rdbuf());
这样标准输出cout就重定向到了ss中,获取ss中的字符串可以用string s=ss.str();这样可以一次性全部取出字符串。
追问error: aggregate ‘std::stringstream ss’ has incomplete type and cannot be defined|
需要什么头文件吗?
或者你能写一个完整的简单程序吗?谢谢了
include <iostream>
include <string>
using namespace std;
int main()
{
stringstream ss;
streambuf* buffer = cout.rdbuf(); //oldbuffer,STDOUT的缓冲区
cout.rdbuf(ss.rdbuf());
cout<<123<<456<<789;
string s(ss.str());
cout.rdbuf(buffer); //重新载入STDOUT的缓冲区
}
现在s中保存的就是123456789,cout重定向之后如果继续使用记得恢复到原来。
温馨提示:答案为网友推荐,仅供参考