feof
作用:如果文件结束,则返回非0值,否则返回0
但要注意的是feof要读取到文件结束标志EOF后,才能判断文件是否结束。
所以使用while(!feof(pFile))会出现最后fread会返回0,改进后的代码如下:
while(!feof(pFile)) { s32Ret = fread(&stStopInfo, 1, sizeof(CARD_MNG_STOP_INFO_S), pFile); if(feof(pFile)) { break; } assert(s32Ret == sizeof(CARD_MNG_STOP_INFO_S), "fread failed by %d, s32Ret is %d", errno, s32Ret); u32SessionCount++; //break; }