QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1687|回复: 0

关于arm-linux-gcc编译的程序读文件结束符的问题

[复制链接]
发表于 2006-11-13 18:23:30 | 显示全部楼层 |阅读模式
今天在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编译器的问题,还是什么原因导致的??
已经郁闷了半天了。请大家指点。
多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-5 09:10 , Processed in 0.273329 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表