A few days ago to attend a training, listen to people say use feof () as a sign of the end of the document to be careful. At that time I did not agree, feof, this function I used Ah, did not find any bugs.
But after coming back to write a program a try, there is a bug.
I tried to copy a file using feof as a flag to end the decision file:
while (!feof (FP_RD))
{
Char t = fgetc (FP_RD);
FPUTC (t, FP_WR);
}
But when I open the copied file, the end of the send out a 0xff more.
Check the Internet:
C language feof function is read the contents of the above to determine whether the file is over, and from the above program can be seen, I was first judged and then read the file, it will inevitably lead to write a file when more than a section. Correct it to the following form:
Char t = fgetc (FP_RD);
while (!feof (FP_RD))
{
FPUTC (t, FP_WR);
t = fgetc (FP_RD);
}