标题:文件读取出错是哪里出错的呢?
只看楼主
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
结帖率:88.89%
已结贴  问题点数:5 回复次数:8 
文件读取出错是哪里出错的呢?
如何解决呢???   
        int i,a=1;
    char li[20],file[20];
    FILE*list;
    if((list=fopen("list.dat","wb+"))==NULL)
    {
        printf("Can not open list.dat file!\n");
        return;
    }
    fseek(list,2L,SEEK_SET); /* 文件最前面有一个整数,要跳过这个整数读取后面的文件目录*/  
    li[0]='\0';
        do      /* 输入并判断文件名是否已经存在 */
        {
            printf("请输入文件名,如:F:/data/student :");
            scanf("%20s",file);
            for(i=0;i<f->k;i++)
            {
                fscanf(list,"%s",li);
                printf("%s",li); /* 查看读取出来的li,显示为“烫烫汤烫烫”*/
                a=strcmp(li,file);
                if(a==0)
                {
                    printf("\n文件名已存在,请重新输入。。。\n");
                        break;
                }
            }
            
        }while(a==0);
搜索更多相关主题的帖子: file return 如何 
2012-12-01 14:43
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
在开始将li数组初始化 char li[20] = {0};


[fly]存在即是合理[/fly]
2012-12-01 14:57
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:0 
回复 2楼 azzbcc
不行啊,这样改后 printf("%s",li);没有输出了???
2012-12-01 15:11
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
这说明文件没读到,fscanf要改


[fly]存在即是合理[/fly]
2012-12-01 15:46
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
scanf的括号内有错,应加位置标识&
2012-12-01 16:00
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:0 
回复 5楼 zhou31146001
不关这个的事的,这里是字符数组,不是整形数组
2012-12-01 19:48
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:0 
回复 4楼 azzbcc
是这步有问题fscanf(list,"%s",li); 还是这步有问题呢fseek(list,2L,SEEK_SET);?
问题出在哪里呢?纠结了好久都没找到原因。
望大侠指教啊!!
2012-12-01 19:55
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:5 
soory,不是这俩的问题,问题在这:
if((list=fopen("list.dat","wb+"))==NULL)
w+ 打开可读写文件,若文件存在则  文件长度清为零  ,即该文件内容会消失。若文件不存在则建立该文件。


[fly]存在即是合理[/fly]
2012-12-01 20:23
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:0 
回复 8楼 azzbcc
我又犯这种明显的错误了,多谢大侠,一天帮我解决两个问题
2012-12-01 21:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389206-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.220902 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved