| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1686 人关注过本帖
标题:fwrite写入后fread读取不出来问题,求帮助
取消只看楼主 加入收藏
cnnidajie
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-2-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
fwrite写入后fread读取不出来问题,求帮助
程序代码:
nzmc * tmpMusic = new nzmc[numRow];

        for(int i = 0; i < numRow; i++)
        {
            row = mysql_fetch_row(res);

            /* 循环保存在结构体中 */

                tmpMusic[i].mcName = row[1];
                tmpMusic[i].mcJp = row[2];
                tmpMusic[i].comm = atoi(row[3]);
        }

        if(access(FILEJ, 0) == -1)
                mkdir(FILEJ);

            FILE * fp;

            if((fp = fopen(FILEJ"\\data.dat", "w+b")) == NULL)
                return -7;

            fwrite(&tmpMusic[0], sizeof(nzmc), numRow, fp);

            if(ferror(fp))
                return -8;

            delete [] tmpMusic;
            fclose(fp);

            fileRead();
    }


    int fileRead(void)
    {
        nzmc * tmpnc = new nzmc[1000];
        FILE * fp = NULL;

        if((fp = fopen(FILEJ"\\data.dat", "r+b")) == NULL)
            return -9;

        int tmp = 0;

        while (!feof(fp))
        {
            fread(&tmpnc[tmp], sizeof(nzmc), 1, fp);
            tmp++;
        }
其中 ,结构体数组中的一项数据为:
{"月亮代表我的心","g:150|q:150|e:150|t:150|q:150|j:150|e:150|t:500|t:150|y:150|u:150|p:150|y:150|t:500|e:150|w:150|q:150|q:150|q:500|e:150|w:150|q:150|q:150|q:500|w:150|e:150|w:150|q:150|h:150|w:150|e:150|w:500|g:150|q:150|e:150|t:150|q:150|j:150|e:150|t:500|t:150|y:150|u:150|p:150|y:150|t:500|e:150|w:150|q:150|q:150|q:500|e:150|w:150|q:150|q:150|q:500|w:150|e:150|w:150|h:150|j:150|q:150|w:150|q:500|e:150|t:150|e:150|w:150|q:150|t:150|j:500|h:150|j:150|h:150|j:150|h:150|g:150|e:500|t:150|e:150|w:150|q:150|t:150|j:500|h:150|j:150|q:150|q:150|q:150|w:150|e:150|w:500|g:150|q:150|e:150|t:150|q:150|j:150|e:150|t:500|t:150|y:150|u:150|p:150|y:150|t:500|e:150|w:150|q:150|q:150|q:500|e:150|w:150|q:150|q:150|q:500|w:150|e:150|w:150|h:150|j:150|q:150|w:150|q:500|",0},

结构体数组有很多由上面数据组成,但是写入文件,使用fread批量读取出来以后,只能读取“月亮代表我的心”和“0”,中间的一大串曲谱读取不出来,显示为空,且请高手查看代码给予帮助。谢谢了



[ 本帖最后由 cnnidajie 于 2013-2-11 09:43 编辑 ]
2013-02-11 08:43
cnnidajie
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-2-11
收藏
得分:0 
回复 2楼 TonyDeng
可是打开方式是用的r+b,是二进制格式啊
2013-02-11 20:16
cnnidajie
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-2-11
收藏
得分:0 
回复 5楼 TonyDeng
我那个不是说用fwrite形成的文件啊,而是写入进去的结构体数据。。。。
2013-02-12 20:53
快速回复:fwrite写入后fread读取不出来问题,求帮助
数据加载中...
 
   



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

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