文本I/O和文本文件

I/O的概念

使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数
据类型是什么,输入一开始都是字符数据------文本数据。然后cin对象负责将文本转换为其他类型。
	
	对于输入,将执行相反的转换。即整数被转换为数字字符序列,浮点数被转换为数字字符和其他字
	符组成的字符序列(如284.53或-1.587E+06)。字符数据不需要任何转换。
    
    要点:输入一开始为文本。因此,控制台输入的文件版本是文本文件,即每个字节都存储了一个字
    符编码的文件。并非所有的文件都是文本文件,例如,数据库和电子表格以数值格式(即二进制整
    数或浮点格式)来存储数值数据。另外,字处理文件中可能包含文本信息,但也可能包含用于描述
    格式、字体、打印机等的非文本数据。

写入到文本文件中

对于文件输入,C++使用类似于cout的东西。下面来复习一些有关将cout用于控制台输出的基本事实,为文件输入做准备:
  	1>必须包含头文件iostream
   	2>头文件iostream定义了一个用处理输出的ostream类
    3>头文件iostream声明了一个名为cout的ostream变量(对象)
    4>必须指明名称空间std;例如,为引用元素cout和endl,必须使用编译指令using或前缀std::
    5>可以结合使用cout和操作符>>来显示各种类型的数据。

    文件输出与此极其相似:

    1>必须包含头文件fstream
    2>头文件fstream定义了一个用于处理输出的ofstream类
    3>需要声明一个或多个ofstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名规则。
    4>必须指明名称空间std;例如,为引用元素ofstream,必须使用编译指令using或前缀std::
    5>需要将ofstream对象与文件关联起来。为此,方法一是使用open()方法。
    6>使用完文件后,应使用close()方法将其关闭。
    7>可结合使用ofstream对象和操作符>>来输出各种类型的数据。
	
	注意:虽然头文件iostream提供了一个预先定义好的名为cout的ostream对象,但您必须声明
	自己的ofstream对象,为其命名,并将其同文件关联起来。

读取文本文件

接下来介绍文本文件输入,它是基于控制台输入的,后者涉及多个方面。总结一下这些方法:
    1>必须包含头文件iostream
    2>头文件iostream定义了一个用处理输入的istream类
    3>头文件iostream声明了一个名为cin类的istream变量(对象)
    4>必须指明名称空间std;例如,为引用元素cin,必须使用编译指令using或前缀std::
    5>可以结合使用cin和操作符<<来读取各种类型的数据
    6>可以使用cin和get()方法来读取一个字符,使用cin和getline()来读取一行字符
    7>可以结合使用cin和eof()、fail()方法来判断输入是否成功。
    8>对象cin本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则被转换为false

    文件输出与此极其相似:
    1>必须包含头文件fstream
    2>头文件fstream定义了一个用于处理输入的ifstream类
    3>需要声明一个或多个ifstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名规则。
    4>必须指明名称空间std;例如,为引用元素ifstream,必须使用编译指令using或前缀std::
    5>需要将ifstream对象与文件关联起来。为此,方法之一是使用open()方法。
    6>使用完文件后,应使用close()方法将其关闭
    7>可结合使用ifstream对象和操作符<<来读取各种类型的数据
    8>可以使用ifstream对象和get()方法来读取一个字符,使用ifstream对象和getline()来读取一行字符
    9>可以结合使用ifstream和eof()、fail()等方法来判断输入是否成功
    10>ifstream对象本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则被转换为false
    
    注意:虽然头文件iostream提供了一个预先定义好的名为cin的istream对象,但您必须声明自
    己的ifstream对象,为其命名,并将其同文件关联起来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值