read word by word from file in C++

c++

Solution

First of all, don't loop `while (!eof())`, it will not work as you expect it to because the `eofbit` will not be set until after a failed read due to end of file.

Secondly, the normal input operator `>>` separates on whitespace and so can be used to read "words":

std::string word;
while (file >> word)
{
    ...
}

Problem

this function should read a file word by word and it does work till the last word, where the run stops ``` void readFile( ) { ifstream file; file.open ("program.txt"); string word; char x ; word.clear(); while ( ! file.eof() ) { x = file.get(); while ( x != ' ' ) { word = word + x; x = file.get(); } cout<< word <<endl; word.clear(); } } ``` any one see what is the problem and how it can be solved??

Original source

Related problems