| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:求教一个保存数据的问题
取消只看楼主 加入收藏
宋子奇
Rank: 1
等 级:等待验证会员
帖 子:2
专家分:0
注 册:2010-5-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
求教一个保存数据的问题
以下代码的目的是将buff中的数据,每次400字节存入data_dat.dat文件中
    unsigned char buff[512*512]={0};
    int len = lineByte * bmpHeight;       //数据长度
    int tem = 0;
    FILE *fp;
    int i;

    for(i=0;i<bmpHeight*bmpWidth;i++)
    {
        buff[i] = *(pBmpBuf+i);
    }
    fp=fopen("data_dat.dat","ab");
    for(i=0;i*400<len;i++)
    {
        if((len-i*400)>400)
        {
            fseek(fp, 400,0);
             fwrite(buff,400, 1, fp);
        }
        else
        {   
            fseek(fp, 400,0);
            fwrite(buff,len-i*400, 1, fp);
            break;
        }
    }
    fclose(fp);

保存的数据不正确,请问是什么原因?多谢
搜索更多相关主题的帖子: 数据 保存 
2010-05-20 20:44
宋子奇
Rank: 1
等 级:等待验证会员
帖 子:2
专家分:0
注 册:2010-5-20
收藏
得分:0 
回复 8楼 zhujianiu
多谢各位,应该改成这样:
    fp=fopen("data_dat.dat","ab");
    for(tem=0;tem*400<len;tem++)
    {
        if((len-tem*400)>400)
        {
             fwrite(buff+tem*400,400, 1, fp);
        }
        else
        {   
            fwrite(buff+tem*400,len-tem*400, 1, fp);
            break;
        }
    }
fseek这个函数不需要,fwrite的第一个参数原来写的不对,现在没问题了
2010-05-21 08:19
快速回复:求教一个保存数据的问题
数据加载中...
 
   



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

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