![]() |
#2
rjsp2015-03-10 13:56
|

#include <fstream>
#include <sstream>
#include <iostream>
using namespace std;
int main()
{
stringstream stream;
int n=10;
string str="abc";
stream<<n;
stream >> str;
cout<<"1 str == "<<str<<endl;
stream.clear();
//stream.str("");
char cstr[10]="china";
stream <<cstr;
stream >> str;
cout<<"3 str == "<<str<<endl;
return 0;
}
#include <sstream>
#include <iostream>
using namespace std;
int main()
{
stringstream stream;
int n=10;
string str="abc";
stream<<n;
stream >> str;
cout<<"1 str == "<<str<<endl;
stream.clear();
//stream.str("");
char cstr[10]="china";
stream <<cstr;
stream >> str;
cout<<"3 str == "<<str<<endl;
return 0;
}
上面代码中stream.clear()是清除状态,stream.str("")是清除内容。
1. 如果注释stream.str(""),则输出为:
只有本站会员才能查看附件,请 登录
我的理解是:stream.clear()没有清空内容,则 3 str == 10china
2. 如果注释stream.clear(),则输出为:
只有本站会员才能查看附件,请 登录
我的理解是:stream.str("")清空了内容,所以 3 str == china
但运行结果与我的理解相差很多,请各位帮忙看看,而且我搜网上的结果好像都不太一样。谢谢大家。