C++文件IO

文件IO

1、文件,
一般指存储在外部介质上数据的集合。一批数据是以文件的形式存放在外部介质(如:磁盘,光盘和U盘上)。操作系统是以文件为单位对数据进行处理的。若想找存在于外部介质上的数据,必须先按文件名找到指定的文件,然后再从文件中读取数据。在外部介质上存储信息,也是需要先建立一个文件,才能向他输出数据。

2、对用户来说,常用的文件有两大类,一类是程序文件,(C++的源程序文件.cpp,目标文件.obj,可执行文件.exe), 另一类是数据文件(data file)
程序运行时,常需要将一些数据(运行的最终结果和中间数据)输出到磁盘上存放起来,必要时再从磁盘输入内存。这种磁盘文件就是数据。程序中输入输出的对象就是数据文件。

3、文件中数据的组织形式可以分为 ASCII 文件和二进制文件。ASCII文件又称为文本文件(text)或 字符文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件又称内部格式文件或字节文件,是把内存中的数据按内存中的存储形式原样输出到磁盘上存放。

4、对于字符信息,在内存中是以ASCII码形式存放的,因此,无论使用ASCII码形式输出和用二进制文件输出,其数据形式都是一样的。对数值信息就不一样。?

5、用ASCII码形式,输出的数据与字符一一对应,一个字节代表一个字符。可直接阅读,占的存储空间较多,花费转换时间(二进制形式与ASCII码)。
使用内部格式(二进制形式输出)输出数值,可节省外存空间,不需转换时间,但不可直接显示内容。

一般,程序运行中有些中间数据暂时保存在磁盘文件中,之后又需要输入到内存的,用二进制合适。为了显示内容或打印以供阅读,应选择ASCII形式输出。(低级IO -> 高级IO)

6、文件流

#include 

ofstream f1;								建立一个输出文件流对象
f1.open(磁盘文件名,输入输出方式)				open一般调用形式,文件名可为路径,缺省默认当前目录
文件的输入输出方式设置值
ios:: 设置值
in
out
app
ate
trunc
binary
ios::in | ios::out
ios::in | ios::binary
ios::out | ios::binary

输入,
输出,已有重名文件,清空
输出,添加在末尾
打开已有文件,文件指针指向末尾
打开一个文件,若文件存在,删除全部数据。不存在则建立新文件。如已制定out而为制定 app ate in,则同时默认此形式。
默认二进制打开,不指定此形式,默认ASCII码
输入加输出
二进制打开输出文件
二进制打开输入文件

打开失败时,open函数返回 0 如果是调用构造函数的形式打开文件,则流对象的值为 0

关闭磁盘文件,

f1.close();

后面的内容就没仔细看了,后面还是要看。做了模拟题库,结果后面还是考了一些细碎的点。

7、对ASCII文件操作
ASCII码文件:每一个字节都以ASCII码形式,存放数据,一个字节存放一个字符。
系统函数 exit() 参数为1,0,或任意整数,结束运行。旧版本需头文件

8、对二进制文件操作
内存数据的映像文件,或字节文件。

istream & read(char * buffer , int len);
ostream & write( const char * buffer , int len);
buffer 字符指针指向内存中的一段存储空间,len 是读写的字节数
a.write(p1,50);
b.read(p2,30);

你可能感兴趣的:(C++)