Lesson 7:简单的文件输入和输出

来源:互联网 发布:幼儿讲故事软件下载 编辑:程序博客网 时间:2024/06/03 10:07
        使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据,即文本数据。然后,cin对象负责将文本转换为其他类型。控制台输入的文件版本是文本文件,即每个字节都存储了一个字符编码的文件。并非所有的文件都是文本文件。

        一、写入到文本文件中
        下面来进行一个对比:
        将cout用于控制台输出:
        ·必须包含头文件iostream。
        ·头文件iostream定义了一个处理输出的ostream类。
        ·头文件iostream声明了一个名为cout的ostream变量(对象)。
        ·必须指明名称空间std。
        ·可以结合使用cout和运算符<<来显示各种类型的数据。
        文件输出:
        ·必须包含头文件fstream。
        ·头文件fstream定义了一个用于处理输出的ofstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名规则。
        ·必须指明名称空间std。
        ·需要将ofstream对象与文件关联起来,方法之一是使用open()方法。
        ·使用完文件后,应使用方法close()将其关闭。
        ·可结合使用ofstream对象和运算符<<来输出各种类型的数据。
ofstream out_file;out_file.open("hello.txt");ofstream out_file2;char filename[50];cin >> filename;out_file2.open(filename);
        首先需要声明一个ofstream对象,然后用open方法打开文本文件,需要用双引号包住文件的地址。然后就可以和使用cout的一样,使用创建的ofstream对象。另外,open()方法也接受一个C-风格的字符串作为参数。注意如果打开已有的文件,以接受输出时,那么open()将首先截断该文件,丢弃原有的内容,然后将新的输出加入到该文件中。

        二、读取文本文件
        文件输出和cin可以类似比较,一些基础性质可以和输入到文本文件部分来对比:
        ·可以使用cin或ifstream对象和get()方法来读取一个字符、和getline()来读取一行字符。
        ·可以使用cin或ifstream对象结合eof()、fail()方法来判断输入是否成功。
        ·cin或ifstream对象本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则将转换为false。
       
        一般情况下,打开文件的时候需要判断该文件是否成功的打开。调用good()方法可以判断,现在有改进的方法is_open()使用更广泛。

0 0