| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 876 人关注过本帖
标题:帮帮忙吧,这问题困扰我很久了
只看楼主 加入收藏
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
帮帮忙吧,这问题困扰我很久了
二进制读写出了问题,执行的时候不知怎么的,好像文件名不小心变成空的,然后就出错了。。。帮忙看看吧,我在论坛只有这点分了,全部奉上。。
if((fp=fopen(filename,"rb"))==NULL)
    {
    printf("无法打开文件:%s",filename);
    return 0;
    }

        fseek(fp,-sizeof(struct student), SEEK_END); //读出数据总量
        fread(&temp_date,sizeof(struct student), 1, fp);
        date_sum=temp_date.flag;
        rewind(fp);


    for(i=0; i<date_sum; i++)//读数据
    {
        if(fread(&stu[i], sizeof(struct student), 1, fp)==NULL)
            printf("error");   
    }
    fclose(fp);

    if((fp=fopen(filename,"wb"))==NULL)
    {
    printf("无法打开文件:%s",filename);
    return 0;
    }
   
    for(i=0; i<date_sum; i++)
    {
        if(choose=='1')
        {
            for(j=0; j<index; j++)
            {   if(dele_num[j]!=stu[i].num)//不是要删除的就写进文件
                {   
                    stu[i].flag=stu[i].flag-done; //同步记录flag的值
                    if(fwrite(&stu[i], sizeof(struct student), 1, fp)!=1) //二进制读写
                    {
                        printf("error!");
                        fclose(fp);
                    }
            
                }
                else
                {
                    dele_stu[m++]=stu[i];   
                    date_sum--;//同步记录数据
                    done++;
                }
            }
        }

        if(choose=='2')
        {
            for(j=0; j<index; j++)
            {   
                if(strcmp(stu[i].name, dele_name[j])!=0)
                {
                    stu[i].flag=stu[i].flag-done; //同步记录flag的值
                    if(fwrite(&stu[i], sizeof(struct student), 1, fp)!=1) //二进制读写
                    {
                        printf("error!");
                        fclose(fp);
                    }
                }
                else
                {
                    dele_stu[m++]=stu[i];               
                    date_sum--;//同步记录数据
                    done++;
                }
            }
        
        }
    }
fclose(fp);
搜索更多相关主题的帖子: return 二进制 
2012-02-20 13:01
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
收藏
得分:0 
汗。。。悲催,没有人帮忙。。。这是怎么了。
2012-02-20 15:04
lixingying
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2010-8-3
收藏
得分:3 
你想干什么 找我 我帮你 家我QQ717198465
2012-02-20 21:20
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
收藏
得分:0 
回复 2楼 陪你看雪ly
好。。拜托你了,我很郁闷
2012-02-20 22:03
天仲子
Rank: 2
等 级:论坛游民
帖 子:49
专家分:49
注 册:2012-1-3
收藏
得分:3 
我是菜鸟,所以。。。。。。
2012-02-20 22:14
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
收藏
得分:0 
回复 5楼 天仲子
汗。。我也差不多
2012-02-20 23:29
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
收藏
得分:0 
我在百度也提问了,在这也提问,可是总是没人来帮帮我,汗。。。
2012-02-20 23:29
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:3 
好吧,看看

数学好难!
2012-02-20 23:36
陪你看雪ly
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-2-16
收藏
得分:0 
回复 8楼 zxd675816777
谢谢了
2012-02-21 08:07
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:3 
何不把整个代码贴出来,最好你整理下,不然看起来太累

我的地盘
2012-02-21 10:53
快速回复:帮帮忙吧,这问题困扰我很久了
数据加载中...
 
   



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

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