当前位置:天才代写 > tutorial > C语言/C++ 教程 > C++进修摘要之九:C++流和文件流

C++进修摘要之九:C++流和文件流

2017-11-03 08:00 星期五 所属: C语言/C++ 教程 浏览:395

副标题#e#

在措施设计中,数据输入/输出(I/O)操纵是必不行少的,C++语言的数据输 入/输出操纵是通过I/O流库来实现的。C++中把数据之间的传输操纵称为流,流既 可以暗示数据从内存传送到某个载体或设备中,即输出流,也可以暗示数据从某 个载体或设备传送到内存缓冲区变量中,即输入流。在举办I/O操纵时,首先是打 开操纵,使流和文件产生接洽,成立接洽后的文件才答允数据流入和流出,输入 或输出竣事后,利用封锁操纵使文件与流断开接洽。

尺度输入输出流 (cout、cin)在利用进程中,只要在措施的开头嵌入相应的头文件 “iostream.h”即可。

文件的打开和封锁是通过利用fstream 类的成员函数open和close来实现的,fstream类用来对文件流举办操纵,fstream 类的头文件是fstream.h.

1.数据的输出cout

cout是尺度输出设备 即显示器(默认设备)毗连的预界说输出流。C++语言的插入运算符 “<<”向输出流发送字符,cout是数据的目标地,插入运算符 “<<”把数据传送到cout.

输出流工具cout输出数据的 语句名目为:

cout<<数据1<<数据 2<<……<<数据n;

个中, “<<”是输出操纵符,用于向cout输出流中插入数据。

在cout中还可以利用流节制符节制数据的输格外式,但要留意利用这些流节制符 时,要在措施的开始部门嵌入头文件“iomanip.h”。

常用的 流节制符及其成果如下表所示:

表1  I/O流的常用节制符

C++学习摘要之九:C++流和文件流


#p#副标题#e#

2.数据的输入cin

cin是与尺度输入设备即键盘(默认设备)毗连的预 界说输入流。它从输入流中取出数据,数据从输入提起运算符 “>>”处流进措施。

输入流工具cin输入数据的语句格 式为:

cin>>变量名1>>变量名 2>>……>>变量名n;

个中, “>>”是输入操纵符,用于从cin输入流中取得数据,并将取得 的数据传送给其后的变量,从而完成输入数据的成果。

留意: “>>”操纵符后除了变量名外不得有其他数字、字符串,不然 系统会报错。

3.文件流及其有关的类

文件是存储在磁盘、磁带等 外部设备上的数据的荟萃,每一个文件都必需有一个独一的文件名称。在利用文 件前必需首先打开文件,利用完毕后必需封锁文件。对文件的操纵是由文件流类 完成的。文件流类在流与文件之间成立毗连。下图是与文件操纵相关的类及其继 承干系。

C++进修摘要之九:C++流和文件流

图1 几个与文件处理惩罚相关的类及其担任干系布局图

下表是常用 的I/O流类库的说明,以及在编程中需要包括到措施中的头文件。

表2 常 用I/O流类库说明

C++学习摘要之九:C++流和文件流

#p#副标题#e#

4.文件的打开与封锁

对文件的操纵是由文件流类完成的。文件流类在 流与文件间成立毗连。由于文件流分为三种:文件输入流、文件输出流、文件输 入/输出流,所以相应的必需将文件流说明为ifstream、ofstream和fstream类的 工具,然后操作文件流的工具对文件举办操纵。

对文件的操纵进程可凭据 一下四步举办:即界说文件流类的工具、打开文件、堆文件举办读写操纵、封锁 文件,下面别离举办先容。

(1)界说文件流工具

操作文件流类可 以界说文件流类工具,要领是:

文件流类 工具名;

如:

ifstream ifile; //界说一个文件输入流工具

ofstream ofile; //界说一个文件输出流工具

fstream iofile; //界说一个文件输出/输入 流工具

(2)打开文件

界说了文件流工具后,就可以操作其成员函 数open()打开需要操纵的文件,该成员函数的函数原型为:

void open (const unsigned char *filename,int mode,int access=filebuf:openprot );

个中:filename是一个字符型指针,指定了要打开的文件名;mode指 定了文件的打开方法,其值如下表所示;access指定了文件的系统属性,其取值 为:

0         一般文件

1         只读文件 :

2         埋没文件

3         系统文件

表3 在ios类中界说的文件打开方法

C++学习摘要之九:C++流和文件流

#p#副标题#e#

说明:

1)在实际利用进程中,可以按照需要将以上打开文件的方法用 “|”组合起来。如:

ios::in|ios::out                 暗示以读/写方法打开文件

ios::in|ios:: binary              暗示以二进制读方法打开文件

ios:: out|ios:: binary            暗示以二进制写方法打开文件

ios::in|ios::out|ios::binary       暗示以二进制读/写 方法打开文件

2)假如未指明以二进制方法打开文件,则默认是以文本方 式打开文件。

3)对付ifstream流,mode参数的默认值为ios::in,对付 ofstream流,mode的默认值为ios::out.

(3)文件的封锁

在文 件操纵竣事(即读、写完毕)时应实时挪用成员函数close()来封锁文件。该函 数较量简朴,没有参数和返回值。

操作工具和相应的成员函数对文件举办 读写操纵,我们将单独先容。

5.文件的读写操纵

#p#分页标题#e#

在打开文件后就 可以对文件举办读写操纵了。从一个文件中读出数据,可以利用文件流类的get、 getline、read成员函数以及运算符“>>”;而向一个文件写入 数据,可以利用其put、write函数以及插入符“<<”,如下表 所示:

表4 文件流类的文件操纵成员函数

C++学习摘要之九:C++流和文件流

顺序文件操纵:这种操纵方法只能从文件的开始处依次顺序读写文件内容,而 不能任意读写文件内容。

从一个文件中读出数据,可以利用get、getline 、read成员函数以及运算符“>>”;而向一个文件写入数据, 可以利用put、write成员函数以及插入符“<<”。

相关文章

C++进修摘要之二:结构函数和析构函数

http://www.bianceng.cn/Programming/cplus/200911/12302.htm

C++进修摘要之一:类和工具

http://www.bianceng.cn/Programming/cplus/200911/12301.htm

 

    关键字:

天才代写-代写联系方式