raw(二进制)文件的使用说明

  #include <stdint.h>

#include <stdio.h>

#include<string>

using namespace std;

写入  

uint8_t *data=new uint8_t[20];//模拟数据

    for(int i=0;i<20;i++){

        data[i]=i;

    }

    //二进制文件的地址及文件名

    string qFileName = "D:/untitled1/test.raw";

    //以wb的打开方式打开文件raw

    FILE* fp = fopen(“文件名.c_str()”,"打开方式");

    if(fp!=NULL){

        //1次性将data的指针的20个数据1次性写入fp文件中

        fwrite(data,1,20,fp);

        fclose(fp);用完不关闭,遇到了第二次再用数据读不完整的问题

}

delete data;

读取

 //定义临时容器用来存储raw文件中的数据

    uint8_t* data = new uint8_t [20];

    //要读取的二进制文件地址及文件名

    QString qFileName = "D:/untitled1/test.raw";

    FILE* fp = fopen(qFileName.toLocal8Bit(),"rb");

    if(fp != NULL){

 //1次性读取fp二进制文件中的20个数据,保存到data容器中

        fread(data,1,20,fp);

        fclose(fp);

    }

    delete data;

在close(fp)之前, 每次fread(data,1,20,fp)读取(0~19个数据)完,文件中的指针就会往后移20个,意思是第二次 fread(data,1,20,fp)读的时候,取到的是第20~39个数据,以此类推,实现遍历整个文件;

文件的打开方式

 

打开方式

含义

r

以只读方式打开文件,该文件必须存在

r+

以可读写方式打开文件,该文件必须存在

rb+

读写打开一个二进制文件,只允许读写数据

rt+

读写打开一个文本文件,允许读和写

w

只写打开文件,若文件存在则内容清空,若不存在则建立该文件

w+

可读写打开文件,若文件存在则内容清空,若不存在则建立该文件

a

附加的方式打开只写文件,若文件不存在则新建,若存在则追加数据

a+

附加的方式打开可读写文件,若文件不存在则新建,若存在则追加数据

wb

只写打开或新建一个二进制文件,只允许写数据

wb+

读写打开或新建一个二进制文件,允许读和写

wt+

读写打开或建立一个文本文件,允许读写

at+

读写打开一个文本文件,允许读或在文本末追加数据

ab+

读写打开一个二进制文件,允许读或在文件末追加数据

 

上述的形态字符串都可以再加一个b字符,如rb,w+b或ab+等组合,加入b字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件,

+ :可读可写

b :二进制文件

t  :文本文件

r :读数据

w  :写数据

a  :追加的方式

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值