? ? ? ?对于文件输入,C++使用类似于cout的东西。下面来复习一些有关将cout用于控制台输出的基本事实,为文件输出做准备。
- 必须包含头文件iostream。
- 头文件iostream定义了一个用处理输出的ostream类。
- 头文件iostream声明了一个名为cout的ostream变量(对象)。
- 必须指明名称空间std;例如,为引用元素cout和endl,必须使用编译指令using或前缀std::。
- 可以结合使用cout和运算符<<来显示各种类型的数据。
- 文件输出与此极其相似。
- ?必须包含头文件fstream。
- 头文件fstream定义了一个用于处理输出的ofstream类。
- 需要声明一个或多个ofstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名规则。
- 必须指明名称空间std;例如,为引用元素ofstream,必须使用编译指令using或前缀std::。
- 需要将ofstream对象与文件关联起来。为此,方法之一是使用open( )方法。
- 使用完文件后,应使用方法close( )将其关闭。
- 可结合使用ofstream对象和运算符<<来输出各种类型的数据。
? ? ? ?注意,虽然头文件iostream提供了一个预先定义好的名为cout的ostream对象,但您必须声明自己的ofstream对象,为其命名,并将其同文件关联起来。下面演示了如何声明这种对象: 下面演示了如何将这种对象与特定的文件关联起来: ? ? ? ?注意,方法open( )接受一个C-风格字符串作为参数,这可以是一个字面字符串,也可以是存储在数组中的字符串。 ? ? ? ?下面演示了如何使用这种对象: ? ? ? ?重要的是,声明一个ofstream对象并将其同文件关联起来后,便可以像使用cout那样使用它。所有可用于cout的操作和方法(如<<、endl和setf( ))都可用于ofstream对象(如前述示例中的outFile和fout)。 ? ? ? ?总之,使用文件输出的主要步骤如下。 ? ? ? ?1.包含头文件fstream。 ? ? ? ?2.创建一个ofstream对象。 ? ? ? ?3.将该ofstream对象同一个文件关联起来。 ? ? ? ?4.就像使用cout那样使用该ofstream对象。 ? ? ? 下面程序演示了这种方法。它要求用户输入信息,然后将信息显示到屏幕上,再将这些信息写入到文件中。读者可以使用文本编辑器来查看该输出文件的内容。
?
? ? ? ? 该程序的最后一部分与cout部分相同,只是将cout替换为outFile而已。下面是该程序的运行情况:
? ? ? ? 正如看到的,outFile将cout显示到屏幕上的内容写入到了文件carinfo.txt中,如下所示。
? ? ? ?注意,方法close( )不需要使用文件名作为参数,这是因为outFile已经同特定的文件关联起来。如果您忘记关闭文件,程序正常终止时将自动关闭它。 ? ? ? ?outFile可使用cout可使用的任何方法。它不但能够使用运算符<<,还可以使用各种格式化方法,如setf( )和precision( )。这些方法只影响调用它们的对象。
? ? ? ?其中cout<<fixed 表示用一般的方式输出浮点数,? cout.precision(2)这条语句把浮点数精度设置为2位。
?
?
?
|