When reading a file, I understand the last character provided is an EOF. Now, what happens, when I have an EOF character in that file?
How do I distinguish between the “real” end of a file, and the EOF character?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I decided to move my comments to an answer.
You can’t have an “EOF character” in your file because there is no such thing. The underlying filesystem knows how many bytes are in a file; it doesn’t rely on the contents of the file to know where the end is.
The C functions you’re using return
EOF(-1) but that wasn’t read from the file. It’s just the way the function tells you that you’re reached the end. And because -1 isn’t a valid character in any character set, there’s no confusion.