VC++ 二进制文件读取
发表在C语言图书答疑 2014-04-08
是否精华
版块置顶:
各位专家:
    你们好,
    VC++对于二进制文件大于4G时,如何读取文件里内容.每次读取的数据由用户指定位置和大小.
                    谢谢!
                         邮箱:sz_qjp@126.com
                       
分享到:
精彩评论 2
学分: LV1
TA的每日心情
开心
2020-06-16 09:16:38
2014-04-09
沙发
正常读取二进制文件可以用fread,具体如下:
    FILE *pFile=fopen("F:\\SqlServer注释.zip","rb");
     char *pBuf;
     fseek(pFile,0,SEEK_END);  //定位到文件末尾
    int len=ftell(pFile);  //求文件长度
    pBuf=new char[len+1];
     rewind(pFile);  //重新定位指针到文件开始处
    fread(pBuf,0,len,pFile);
     fclose(pFile);
如果文件读写的长度大于65535字节,则使用CArchive类进行循环读取。
CFileSourceFile;//数据文件
CStringSourceData;//定义一临时变量保存一条记录
SourceFile.Open(.......);
CArchivear(&SourceFile,CArchive::load);
while(NULL!=ar.ReadString(SourceData))//循环读取文件,直到文件结束
{
     if(SourceData=="文件头部"||SourceData=="")
     continue;//跳过文件头部的提示信息  
     //分析并填充//
}
    int R;

  CStringR=SourceData.Left(SourceData.Find("1"));//截取1前面的字符串

  SourceData=SourceData.Righ(SourceData.GetLength()-SourceData.Find("1")-1);//将1以及前面的字符删除。

  重复上面分析过程,直到记录末尾。
sz_Ivan
学分:0 LV1
TA的每日心情
奋斗
2020-05-27 21:09:51
2014-04-09
板凳
收到,谢谢!
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照