Reset the stream flags so that you can "do stuffs" again in aline.readLine(testFile);
after for
loop
testFile.clear();
testFile.seekg(0, testFile.beg);
Frage
My program read a *.txt file and prints a line from the file backwards. i wanted to get the linenumber before it does so. after doing the loop, i got my number, but everything after my "for loop" is not printing/ working. what is wrong with my code?
if (testFile.good()) {
int countLines = 0;
string temp;
for (int i = 0; getline(testFile, temp); i++)
countLines++;
cout << countLines;
aline.readLine(testFile);
}
Lösung
Reset the stream flags so that you can "do stuffs" again in aline.readLine(testFile);
after for
loop
testFile.clear();
testFile.seekg(0, testFile.beg);
Andere Tipps
When you call getline(testFile, temp)
repeatedly until it reaches the end of the file,
then you can not read more.
you need to rewind
it to the beginning of the file.