C++中fstream为什么要先close再clear

  今天看C++ primer的时候看到书上说:如果在关闭(close)该流前没有调用clear清除流的状态,接着在input上做的任何输入运算都会失败。但是书上却是先写的

instream.close();

instream.clear();

所以感觉有点奇怪,后面搜索资料发现,若是在没有成功打开文件后仍调用close(),会造成错误。

下面是高人的讨论http://bbs.csdn.net/topics/260042059

你可能感兴趣的:(C++)