How to know if the next character is EOF in C++
I'm need to know if the next char in ifstream is the end of file. I'm trying to do this with .peek() : if (file.peek() == -1) and if (file.peek() == file.eof()) But neither works. There's a way to do this? Edit: What I'm trying to do is to add a letter to the end of each word in a file. In order to do so I ask if the next char is a punctuation mark, but in this way the last word is left without an extra letter. I'm working just with char , not string . istream::peek() returns the constant EOF (which is not guaranteed to be equal to -1) when it detects end-of-file or error . To check robustly