C++ primer plus 第17 章 输入、输出和文件:文件输入和输出01

C++ primer plus 第17 章 输入、输出和文件:文件输入和输出01

C++ primer plus 第17 章 输入、输出和文件:文件输入和输出01


17.4 文件输入和输出

大多数计算机程序都使用了文件。字处理程序创建文档文件;数据库程序创建和搜索信息文件;编译器读取源代码文件并生成可执行文件。文件本身是存储在某种设备(磁带、光盘、软盘或硬盘)上的一系列字节。通常,操作系统管理文件,跟踪它们的位置、大小、创建时间等。除非在操作系统级别上编程,否则通常不必担心这些事情。需要的只是将程序与文件相连的途径、让程序读取文件内容的途径以及让程序创建和写入文件的途径。重定向(本章前面讨论过)可以提供一些文件支持,但它比显式程序中的文件IO的局限性更大。另外,重定向来自操作系统,而非C++,因此并非所有系统都有这样的功能。本书前面简要地介绍过文件IO,本章将更详细地探讨这个主题。
C++ IO 类软件包处理文件输入和输出的方式与处理标准输入和输出的方式非常相似。要写入文件,需要创建一个 ofstrcam 对象,并使用ostream方法,如<<插入运算符或 wrie()。要读取文件,需要创建一个ifstream 对象,并使用istream 方法,如>>抽取运算符或 get()。然而,与标准输入和输出相比,文件的管理更为复杂。例如,必须将新打开的文件和流关联起来。可以以只读模式、只写模式或读写模式打开文件。写文件时,可能想创建新文件、取代旧文件或添加到旧文件中,还可能想在文件中来回移动。为帮助处理这些任务,C++在头文件ftream(以前为fstream.h)中定义了多个新类,其中包括用于文件输入的ifstream 类和用于文件输出的 ofstream类。C++还定义了一个ftream类,用于同步文件 IO。这些类都是从头文件 iostream 中的类派生而来的,因此这些新类的对象可以使用前面介绍过的方法。

17.4.1 简单的文件 1/0

要让程序写入文件,必须这样做:

  • 1.创建一个 ofstream 对象来管理输出流:
  • 2.将该对象与特定的文件关联起来;
  • 3.以使用cout的方式使用该对象,唯一的区别是输出将进入文件,而不是屏幕。要完成上述任务,首先应包含头文件ftream。对于大多数(但不是全部)实现来说,包含该文件便自动包括iostream 文件,因此不必显示包含iostream。然后声明一个ofstream 对象:
ofstream fout;//create an ofstream obiect named fout

对象名可以是任意有效的C++名称,如fout、outFile、cgate 或 didi。接下来,必须将这个对象与特定的文件关联起来。为此,可以使用open()方法。例如,假设要打开文件iar.txt 进行输出,则可以这样做:

fout.open("jar.txt");//associate fout with jar.txt

可以使用另一个构造函数将这两步(创建对象和关联到文件)合并成一条语句:

ofstream fout("jar.txt");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值