【2017年整理】C++读取二进制文件

上传人:豆浆 文档编号:987696 上传时间:2017-05-24 格式:DOCX 页数:2 大小:15.05KB
返回 下载 相关 举报
【2017年整理】C++读取二进制文件_第1页
第1页 / 共2页
【2017年整理】C++读取二进制文件_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《【2017年整理】C++读取二进制文件》由会员分享,可在线阅读,更多相关《【2017年整理】C++读取二进制文件(2页珍藏版)》请在金锄头文库上搜索。

1、C+读写二进制文件今天终于弄明白怎样使用 C+读写二进制文件了。要读取文件必须包含头文件,这里包含了 C+读写文件的方法。可以使用 fstream 类,这个类可以对文件进行读写操作。1、打开文件。打开文件可以有两种方式,第一种可以使用 fstream 类的构造函数。fstream file(test.dat,ios_base:in|ios_base:out|ios_base:app);另外一种方法就是使用 open 函数。fstream file;file.open(test.dat,ios_base:in|ios_base:out|ios_base:app);这样就可以打开一个可读写的文件了

2、。如果文件不存在的话,就会创建一个新文件并且以读写方式打开。这里需要说明一点,如果文件不存在的话,open 函数中第二个参数必须包含ios_base:out|ios_base:app,否则就不能正确创建文件。2、写文件。先进性写文件的操作否则读一个空文件是没有意义的。既然是写二进制文件可以向文件中写入一个整形值。写二进制字符只能使用 write 函数。但是 write 函数的原形是 write(const char * ch, int size)。第一个参数是 char *类型,所以需要把将要写入文件的 int 类型转换成 char *类型。这里的转换困扰了我好几天,不过终于弄明白了。代码如下

3、。int temp;file.write(char *)(&temp),sizeof(temp);3、读文件。可以写文件了,读文件就好办多了。读文件需要用到 read 函数。其参数和 write 大致相同,read(const char * ch, int size)。要把内容读到 int 类型变量中同样涉及到一个类型转换的问题。和写文件一样。int readInt;file.read(char *)(&readInt),sizeof(readInt);这样文件中的 int 值就读入到 int 型变量 readInt 中了。4、文件指针。在文件的读写过程中往往需要对文件进行选择性读取。所以需要

4、进行文件指针的移动。这是需要用到 seekg 和 seekp 函数。在 fstream 类中有两个文件指针,一个是读取文件的指针,一个是写文件的指针分别用 tellg和 tellp 文件来取得指针的位置。同样 seekg 和 seekp 两个函数分别是对这两个指针进行移动的函数。这两个函数的参数都是一样的。先对几个枚举类型进行一下说明:ios_base:beg 文件开始位置ios_base:cur 文件当前位置ios_base:end 文件末尾位置下面以 seekg 为例说明一下指针移动的方法:file.seekg(3) 指针移动到第三个字符的位置file.seekg(ios_base:beg) 指针移动到文件开头file.seekg(ios_base:end) 指针移动到文件末尾file.seekg(-3,ios_base:cur) 指针当前位置向前移动三个字符file.seekg(3,ios_base:cur) 指针当前位置向后移动三个字符file.seekg(3,file.tellg() 指针当前位置向后移动三个字符file.seekg(file.tellg()+3) 指针当前位置向后移动三个字符5、对文件操作完毕后别忘了关闭文件。file.close();以上 5 个步骤就完成了对文件的读写操作。文本文件的操作是相同的,比二进制文件还要简单。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号