This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/17611] New: ifstream could not read multiple files
- From: "kemin dot zhou at ferring dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Sep 2004 15:31:58 -0000
- Subject: [Bug c++/17611] New: ifstream could not read multiple files
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
ifstream objects could not open multiple files.
if ifstream objects have reached the end of the stream, then opening another
files requires to clear() otherwise it failed to open a second file.
example code:
ifstream IN("test1.txt");
while (IN>>line) cout << line << endl;
// at this point IN.bad() == true
IN.close();
// you must give the following command
IN.clear();
// otherwise the following statement will fail
IN.open("test2.txt");
IN.fail() == true if the bad bit is not cleared.
====
The standard behavior is for the
ifstream::open(string &infilename) {
if (bad()) clear();
......
}
==========
reading file to the end in the first operation should not have prevented the
opening of the second file.
--
Summary: ifstream could not read multiple files
Product: gcc
Version: 3.3.4
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kemin dot zhou at ferring dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17611