关于clear()与str("")的疑惑
大家好,请大家指教下:程序代码:
#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; }
上面代码中stream.clear()是清除状态,stream.str("")是清除内容。
1. 如果注释stream.str(""),则输出为:
我的理解是:stream.clear()没有清空内容,则 3 str == 10china
2. 如果注释stream.clear(),则输出为:
我的理解是:stream.str("")清空了内容,所以 3 str == china
但运行结果与我的理解相差很多,请各位帮忙看看,而且我搜网上的结果好像都不太一样。谢谢大家。