ifstream f;
f.open("d:\\3.txt");
cout<<f.rdbuf();
cout<<f.tellg()<<endl;
f.close();
f.clear();
f.open("d:\\4.txt");
string s;
f>>s;
cout<<s<<endl;
if(f)
cout<<"ok";
else
cout<<"no";
cout<<f.rdbuf();
这段程序,在3.txt和4.txt中已经有内容.但是现在运行结果是输出3.txt的内容 和成功将4.txt的内容赋值给s,并把s输出,然后if判断中输出ok,但是最后一句将4.txt的内容输出是没有执行(没有输出)。为什么?
想知道clear()的用法,这里如果我把clear()语句注释掉,运行结果一样.但是c++ primer上说的是如果要重用流对象,必须记得关闭(close)和清除(clear).那注释掉clerar()不是应该会运行错误吗?求解释?
小怪兽爱吃肉
婷婷同学_
精慕HU