Thursday 20 October 2016

c++ - Why am I reading the last word in my file twice?

Answer



I'm trying to read in the text from a file and this is what I am doing:



int main(int argc, char* argv[])

{

ifstream inFile;
inFile.open(argv[1]);

string item;

while(inFile.good())
{
inFile >> item;

cout << item << " " << endl;
}


For some reason it will read the last word in the file twice. I tried using a count variable to keep track of how many times it enters the while loop and it always enters one time more then the total number of line in the file. I think this is happening because the inFile.good() statement is not returning false soon enough. How can if fix it?

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...