C++写文件操作

       对于文件输入,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对象。
      下面程序演示了这种方法。它要求用户输入信息,然后将信息显示到屏幕上,再将这些信息写入到文件中。读者可以使用文本编辑器来查看该输出文件的内容。

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

        该程序的最后一部分与cout部分相同,只是将cout替换为outFile而已。下面是该程序的运行情况:

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

        正如看到的,outFile将cout显示到屏幕上的内容写入到了文件carinfo.txt中,如下所示。

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

       注意,方法close( )不需要使用文件名作为参数,这是因为outFile已经同特定的文件关联起来。如果您忘记关闭文件,程序正常终止时将自动关闭它。
       outFile可使用cout可使用的任何方法。它不但能够使用运算符<<,还可以使用各种格式化方法,如setf( )和precision( )。这些方法只影响调用它们的对象。

       其中cout<<fixed 表示用一般的方式输出浮点数,  cout.precision(2)这条语句把浮点数精度设置为2位。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小枭码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值