| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:fread读出用fwrite写进去的结构体文件,为什么只读出来一部分?
只看楼主 加入收藏
圈圈ing
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2015-1-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
fread读出用fwrite写进去的结构体文件,为什么只读出来一部分?

结构体:
struct position//密文
{
    int row;//行
    int line;//列
    char letter; //字母本身
    struct position *next;//连接
};
定义:struct position*arr[52];
写入:
    FILE*code;
    code=fopen("code.txt","w+");
    for(i=0;i<52;i++)//每个结点逐个插入
    {
        p=*(arr+i);
        while(p!=NULL)
        {
            fwrite(p,sizeof(struct position),1,code);
            p1=p;
            p=p->next;
            free(p1);
        }
    }
    fclose(code);

读出:
    FILE*code;
    code=fopen("code.txt","r+");//打开密文文件
    while(!feof(code))
    {
        if((p=(struct position*)malloc(sizeof(struct position)))==NULL)
        {
            printf("内存不足,请释放内存后重试!");
        }
        memset(p,0,sizeof(struct position));//清空链表
        
        if(fread(p,sizeof(struct position),1,code))
        {
            p->next=NULL;//指针初始化
            if(p->letter>= 'A'&&p->letter<= 'Z')//大写字母
            {
                i=p->letter-'A';
                *(arr+i)=Insert(*(arr+i),p);
            }
            else if(p->letter>= 'a'&&p->letter<= 'z')//小写字母
            {
                i=p->letter-'a'+26;
                *(arr+i)=Insert(*(arr+i),p);
            }
        }
      
    }
    fclose(code);    //关闭文件
搜索更多相关主题的帖子: position letter 结构体 字母 
2015-01-06 13:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
文本方式打开文件?!
2015-01-06 15:31
doudou74321
Rank: 2
等 级:论坛游民
帖 子:70
专家分:72
注 册:2014-11-5
收藏
得分:5 
读出建议用ab
2015-01-06 20:01
圈圈ing
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2015-1-4
收藏
得分:0 
额,试了很多次,终于是出来了。要以“rb”读,“wb”写才行!谢谢各位了!
2015-01-07 02:10
快速回复:fread读出用fwrite写进去的结构体文件,为什么只读出来一部分?
数据加载中...
 
   



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

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