C++,java读写二进制文件方法介绍.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
今天终于弄明白怎样使用C++读写二进制文件了。 要读取文件必须包含fstream头文件,这里包含了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); 这样就可以打开一个可读写的文件了。如果文件不存在的话,就会创建一个新文件并且以读写方式打开。 这里需要说明一点,如果文件不存在的话,open函数中第二个参数必须包含ios_base::out|ios_base::app, 否则就不能正确创建文件。 2、写文件。 先进性写文件的操作否则读一个空文件是没有意义的。 既然是写二进制文件可以向文件中写入一个整形值。写二进制字符只能使用write函数。 但是write函数的原形是write(const char * ch, int size)。第一个参数是char *类型,所以需要把将要写入 文件的int类型转换成char *类型。这里的转换困扰了我好几天,不过终于弄明白了。代码如下。 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、文件指针。 在文件的读写过程中往往需要对文件进行选择性读取。所以需要进行文件指针的移动。这是需要用到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(); C++文件流: fstream  // 文件流 ifstream ?// 输入文件流 ofstream ?// 输出文件流 //创建一个文本文件并写入信息 //同向屏幕上输出信息一样将信息输出至文件 #includeiomanip.h #includefstream.h void main() {   ofstream f1(d:\\me.txt);           //打开文件用于写,若文件不存在就创建它   if(!f1)return;                 //打开文件失败则结束运行   f1setw(20)姓名:廉东方endl;    ?//使用插入运算符写文件内容   f1setw(20)家庭地址:河南郑州endl;   f1.close();                  ?//关闭文件 } 运行后打开文件d:\me.txt,其内容如下:        姓名:廉东方      家庭地址:河南郑州 文件操作: 打开文件   文件名     注意路径名中的斜杠要双写,如:     D:\\MyFiles\\ReadMe.txt   文件打开方式选项:     ios::in    = 0x

文档评论(0)

0716 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档