C++读文件操作

       文本输入,它是基于控制台输入的。控制台输入涉及多个方面,下面首先总结这些方面。

  • 必须包含头文件iostream。
  • 头文件iostream定义了一个用处理输入的istream类。
  • 头文件iostream声明了一个名为cin的istream变量(对象)。
  • 必须指明名称空间std;例如,为引用元素cin,必须使用编译指令using或前缀std::。
  • 可以结合使用cin和运算符>>来读取各种类型的数据。
  • 可以使用cin和get( )方法来读取一个字符,使用cin和getline( )来读取一行字符。
  • 可以结合使用cin和eof( )、fail( )方法来判断输入是否成功。
  • 对象cin本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则被转换为false。

       文件输入与此极其相似:

  • 必须包含头文件fstream。
  • 头文件fstream定义了一个用于处理输入的ifstream类。
  • 需要声明一个或多个ifstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名规则。
  • 必须指明名称空间std;例如,为引用元素ifstream,必须使用编译指令using或前缀std::。
  • 需要将ifstream对象与文件关联起来。为此,方法之一是使用open( )方法。
  • 使用完文件后,应使用close( )方法将其关闭。
  • 可结合使用ifstream对象和运算符>>来读取各种类型的数据。
  • 可以使用ifstream对象和get( )方法来读取一个字符,使用ifstream对象和getline( )来读取一行字符。
  • 可以结合使用ifstream和eof( )、fail( )等方法来判断输入是否成功。
  • ifstream对象本身被用作测试条件时,如果最后一个读取操作成功,它将被转换为布尔值true,否则被转换为false。

       注意,虽然头文件iostream提供了一个预先定义好的名为cin的istream对象,但必须声明自己的ifstream对象,为其命名,并将其同文件关联起来。
       注意,方法open( )接受一个C-风格字符串作为参数,这可以是一个字面字符串,也可以是存储在数组中的字符串。


       下面演示了如何使用这种对象:
       重要的是,声明一个ifstream对象并将其同文件关联起来后,便可以像使用cin那样使用它。所有可用于cin的操作和方法都可用于ifstream对象(如下示例中的inFile和fin)。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p6t6L-c,size_20,color_FFFFFF,t_70,g_se,x_16
 

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p6t6L-c,size_20,color_FFFFFF,t_70,g_se,x_16

       首先必须创建一个包含数字的文本文件。为此,可以使用文本编辑器(如用于编写源代码的文本编辑器)。假设该文件名为scores.txt,包含的内容如下:      b31359c79ccf4833948289e06d670f4d.png

下面是该程序的运行情况:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p6t6L-c,size_20,color_FFFFFF,t_70,g_se,x_16

       如果试图打开一个不存在的文件用于输入,情况将如何呢?这种错误将导致后面使用ifstream对象进行输入时失败。检查文件是否被成功打开的首选方法是使用方法is_open( ),如果文件被成功地打开,方法is_open( )将返回true;因此如果文件没有被打开,表达式!inFile.is_open( )将为true。函数exit( )的原型是在头文件cstdlib中定义的,在该头文件中,还定义了一个用于同操作系统通信的参数值EXIT_FAILURE。函数exit( )终止程序。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小枭码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值