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
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)
{
...
}