首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c编程打开文件时遇到很诡异的有关问题,求帮忙

2012-03-21 
c编程打开文件时遇到很诡异的问题,求帮忙我用vs2008编程,需要依次打开一系列文件读取里面的数据,然后关闭

c编程打开文件时遇到很诡异的问题,求帮忙
我用vs2008编程,需要依次打开一系列文件读取里面的数据,然后关闭文件,文件名就是从1到5000的数字命名,无后缀名。
我遇到的问题不管从哪个文件开始读取每次读到第509个文件后都显示找不到该文件,比如从1开始读,读到第509个就显示找不到该文件,从2开始那就到510个找不到,我查看文件地址也是对的,但就是显示找不到,求各路大神帮助啊!

for (i=msg_from;i<=msg_to;i++)
{
itoa(i,num,10);
for (n=0;num[n]!='\0';n++);//计算num的长度
address=(char*)malloc(n*sizeof(char)+1);  
strcpy(address,num);
if((fid=fopen(address,"rt"))==NULL)
{
cout<<"can't open this file(2)"<<endl;
return 0;
};
free(address);
  }


[解决办法]
fopen 后处理完加个fclose

[解决办法]
gcc4.2测试没问题,楼主的情况肯定是文件不在

C/C++ code
int main(){    char num[32];    int n;    for (int i=1; i<= 510;i++)    {        sprintf(num, "%d", i);        for (n=0;num[n]!='\0';n++)            ;//计算num的长度                char *address=(char*)malloc(n*sizeof(char)+1);          strcpy(address,num);                FILE *fid;        if((fid=fopen(address,"rt"))==NULL)        {            cout<<"can't open this file " << i <<endl;            perror("open file failed");            free(address);            return 0;        }        fclose(fid);                free(address);    }        return 0;} 

热点排行