首页  ·  知识 ·  编程语言
C++二进制文件操作
佚名  本站原创    编辑:dezai  图片来源:网络
#includeiostream.h//C++二进制文件操作;C++中用write()把二进制写入文件;体会C++中文本方式存储与二进制方式存储;什么是文本信息?什么是数值信

#include//C++二进制文件操作;C++中用write()把二进制写入文件;体会C++中文本方式存储与二进制方式存储;什么是文本信息?什么是数值信息?
#include
main()
{
 int a[10]={0};
 for(int i=0;i<9;i++)
 {
  a[i+1]=a[i]*10+i+1;
  cout< }

 ofstream rs("ok2002com.txt");//打开文本文件ok2002com.txt
 ofstream rs2("ok2002com.bin",ios::binary);//打开二进制文件ok2002com.bin;注意:打开二进制文件时,访问模式设置为:ios::binary
 for(i=0;i<9;i++)
 {
  rs<  rs2.write((char*)(&a[i]),sizeof(a[i]));//将数据写到二进制文件ok2002com.bin
  cout<<"rs.tellp("<  cout<<"rs2.tellp("< }

 rs.close();
 rs2.close();
 cin>>i;
}

/*运行结果:
-----------------------------
0
1
12
123
1234
12345
123456
1234567
12345678

rs.tellp(0)=2, rs2.tellp(0)=4
rs.tellp(1)=4, rs2.tellp(1)=8
rs.tellp(2)=7, rs2.tellp(2)=12
rs.tellp(3)=11, rs2.tellp(3)=16
rs.tellp(4)=16, rs2.tellp(4)=20
rs.tellp(5)=22, rs2.tellp(5)=24
rs.tellp(6)=29, rs2.tellp(6)=28
rs.tellp(7)=37, rs2.tellp(7)=32
rs.tellp(8)=46, rs2.tellp(8)=36
-----------------------------

●文本方式存储与二进制方式存储的一些区别:

1、文本方式存储
每个数据在文件中的长度不等,所占的字节数与数据的位数有关,数据间必须用分隔符(如空格)隔开;

2、二进制方式存储
每个数据在文件中的长度相同,所占字节数仅与数据类型有关,数据间不需要加入分隔符。

●二进制读写文件的优点
(1)便于对数据进行随机访问;
(2)存取效率高;
(3)可以对文件进行压缩处理;
(4)存储密度大;
(5)数据文件便于保密;

●二进制读写文件需了解:
(1)二进制读写文件兼容性低;
(2)二进制读写文件,不能用字处理程序进行阅读、编辑或修改;

●到底用文本方式存储较好?还是用二进制方式存储较好?
通常将文本信息以文本文件方式存储,而将数值信息以二进制方式存储。

●什么是文本信息?什么是数值信息?
文本信息:电话号码、新闻、邮政编码等等;共同属性:数字不参与计算;
数值信息:产品销售价格、公司总资产、公司年纯收入等等。共同属性:数字参与计算;
需注意:文本信息与数值信息没有绝对的界线,二者可能会相互转换,如:仅仅公布公司季度获利情况,可存储为文本信息,因为其中的金额此次不用于运算。
*/

本文作者:佚名 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读