while(fgetc(fp) != EOF)
の方がいいんじゃないの?