fstream::close:
Calls the close member function for the associated filebuf object. This function, in turn, flushes any waiting output, closes the file, and disconnects the file from the filebuf object. The filebuf object is not destroyed.
ios::clear
void clear( int nState = 0 );
Parameter
nState
If 0, all error bits are cleared; otherwise bits are set according to the following masks (ios enumerators) that can be combined using the bitwise OR ( | ) operator. The nState parameter must have one of the following values:
- ios::goodbit No error condition (no bits set).
- ios::eofbit End of file reached.
- ios::failbit A possibly recoverable formatting or conversion error.
- ios::badbit A severe I/O error.
Remarks
Sets or clears the error-state flags. The rdstate function can be used to read the current error state.
==========================================
在对文件流操作时,如果要对同一个流对象应用,一般是先close,后clear。
具体例子 refer to: http://topic.csdn.net/u/20080828/14/9dad65a7-bcf2-42e0-83fb-1820f03c8bed.html
//c++ primer P253