发布日期:2015-12-29 15:40 来源: 标签: 编程语言 C++教程 C++文件读写 C++二进制文件
本章我们主要学习C++二进制文件读写,下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
#include<fstream.h>
main()
{
    int a[10]={0};
    for(int i=0;i<9;i++)
    {
        a[i+1]=a[i]*10+i+1;
        cout<<a[i]<<endl;
    }
    ofstream rs("ok2002com.bin",ios::binary);//打开二进制文件ok2002com.bin;注意:打开二进制文件时,访问模式设置为:ios::binary
    for(i=0;i<9;i++)
    {
        rs.write((char*)(&a[i]),sizeof(a[i]));//将数据写到二进制文件ok2002com.bin
        cout<<"rs.tellp("<<i<<")="<<rs.tellp()<<endl;//二进制形式输出指针当前位置

    }
    rs.close();
    cin>>i;
}
*运行结果:
-----------------------------
0
1
12
123
1234
12345
123456
1234567
12345678
rs.tellp(0)=2, rs.tellp(0)=4
rs.tellp(1)=4, rs.tellp(1)=8
rs.tellp(2)=7, rs.tellp(2)=12
rs.tellp(3)=11, rs.tellp(3)=16
rs.tellp(4)=16, rs.tellp(4)=20
rs.tellp(5)=22, rs.tellp(5)=24
rs.tellp(6)=29, rs.tellp(6)=28
rs.tellp(7)=37, rs.tellp(7)=32
rs.tellp(8)=46, rs.tellp(8)=36
-----------------------------
●文本方式存储与二进制方式存储的一些区别:
1、文本方式存储
每个数据在文件中的长度不等,所占的字节数与数据的位数有关,数据间必须用分隔符(如空格)隔开;
2、二进制方式存储
每个数据在文件中的长度相同,所占字节数仅与数据类型有关,数据间不需要加入分隔符。
●二进制读写文件的优点
(1)便于对数据进行随机访问;
(2)存取效率高;
(3)可以对文件进行压缩处理;
(4)存储密度大;
(5)数据文件便于保密;
●二进制读写文件需了解:
(1)二进制读写文件兼容性低;
(2)二进制读写文件,不能用字处理程序进行阅读、编辑或修改;
●到底用文本方式存储较好?还是用二进制方式存储较好?
通常将文本信息以文本文件方式存储,而将数值信息以二进制方式存储。
●什么是文本信息?什么是数值信息?
文本信息:电话号码、新闻、邮政编码等等;共同属性:数字不参与计算;
数值信息:产品销售价格、公司总资产、公司年纯收入等等。共同属性:数字参与计算;
需注意:文本信息与数值信息没有绝对的界线,二者可能会相互转换,如:仅仅公布公司季度获利情况,可存储为文本信息,因为其中的金额此次不用于运算。
●C++中tellp()函数与tellg()函数
tellp()函数用来获取“输出指针”的当前位置(从文件首到当前位置的字节数);
tellg()函数用来获取“读入指针”的当前位置(从文件首到当前位置的字节数)。

相关评论

专题信息
    C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性! 本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。