关于arm-linux-gcc编译的程序读文件结束符的问题
今天在arm板上做开发时,发现读文件的结束符返回计算文件长度总是不能返回。后来做了一个小的测试程序,源码如下(arm9;arm-linux-gcc 版本:3.3.2;文件系统为yaffs; var目录可写):#include <stdio.h>
int main()
{
FILE *fp;
char *filename = "/var/config/config.ini";
char chRed;
int fileLen = 0;
fp = fopen(filename "w+");
if(fp == NULL) return 0;
for(; chRed!=EOF; fileLen++)
{
chRed = fgetc(fp);
// printf("run to here.\n");
}
printf("fileLen = %d\n", fileLen);
fclose (fp);
return 1;
}
编译:arm-linux-gcc-o test test.c然后下载到开发板上运行,发现不管config.ini文件是为空,有内容,还是不存在,该程序都不会返回退出,后来加上上面的printf后,看到一直在打印“run to here.”,也就是说没有退出循环。
我想问的就是为什么会读不到文件结束的标志EOF。 同样的代码在PC机上运行就能返回。
是arm-linux-gcc编译器的问题,还是什么原因导致的??
已经郁闷了半天了。请大家指点。
多谢
页:
[1]