C++学习之文件的输入输出
       一、文件的打开与关闭
       1.输出数据到文件
       文件的操作需要包含fstream头文件,文件的操作对象为ifstream,ofstream类对象,需要首先定义ifstream/ofstream对象(该对象与cout的用法相同),然后建立文件与对象的关联,同时指定工作模式,接着调用成员函数open()/close()实现对文件的打开和关闭
一个简单的实例就是:
        #include<iostream>
        using namespace std;
ofstream ocout;

ocout.open("sunfei.txt");

ocout<<"hello word";

ocout.close();
        2.从文件中读取数据
        与将数据输入到文件中的操作方法类似,从文件中读取数据也是首先需要包含fstream头文件,然后建立ifstream对象,接着将对象与所要操作的对象相关联,这个对象也可以看做是cin对象,因此他们的使用方法相同,最后就是要关闭所要操作的文件。
一个简单的实例为:
char temp[25]={0};

ifstream icin;

icin.open("sunfei.txt");

        icin.getline(temp,24,0);// icin>>temp;

ofstream fout;

fout.open("sunfei1.txt");

        fout<<temp<<endl;

cout<<temp<<endl;

icin.close();

fout.close();
        3.自定义文件打开方式
     C++中经常需要判断所要打开的文件是否存在,打开文件是否成功,打开文件读取是否完成等操作,这些操作在C++中都有相应的函数来进行判断,例如常用的good(),eof(),bad()以及fail()等,我们在打开一个未知文件的时候可以借助这些函数来完成文件操作的判断,下面是一个实例来演示这些函数的使用。
        ofstream fout("sunfei5.txt");

fout<<"添加文件\n";

fout.close();

ifstream fin("sunfei5.txt");

if(fin.good())

{

cout<<"打开文件成功,下面是输出的内容";

char ch;

while(!fin.eof())

{

ch=fin.get();

cout<<ch;

}

fin.close();

fin.open("b.txt");

if(fin.fail())

{

cout<<"文件打开失败\n";

}

fin.close();





}
   4.ofstream,ifstream,fstream的区别
          ofstream类的对象在默认情况下打开一个文件的时候会自动清空该文件的数据进行输出操作,它在默认情况下开启ios::trunc和ios::out标志位,因此既可以输出也可以覆盖原始数据,如果想要ofstream类对象在打开文件的时候不清空数据,可以将默认模式设置为ios::in,如 fout.open("people.txt",ios:in|iost::out);
          ifstream则开启ios::in标志位,因此可以执行读入操作。
          fstream类对象在默认情况下不会清空所打开文件的数据,它不提供默认模式,这样,在创建fstream对象的时候必须为它提供模式,假如不指定,那么它将根据后面的操作来确定它的模式。

C++学习之文件的输入输出的更多相关文章

  1. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  2. Java学习-022-Properties 文件数据写入

    Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...

  3. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  4. Java学习-018-EXCEL 文件写入实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  5. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  6. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  7. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

  8. MVC&WebForm对照学习:文件上传(以图片为例)

    原文  http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页::  ::  ::  ::管理 5 Posts :: 0 ...

  9. C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

    迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器 ...

随机推荐

  1. Linux--根文件系统的挂载过程分析

    前言: 本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中全部提及的名词和数据都是以该环境为例,全部的代码流程也是以该环境为例来进行分析.哈哈.假设有不对或者不完好的地方, ...

  2. O2O领域添新军,正品网加快布局的战略考量

    前不久.正品网採购虚拟运营商30万170号码的招标公告引发了业界的广泛关注.一方面,虚拟运营商正处于"徘徊不定"的十字路口.据业内知情人士透露,眼下12家虚拟运营商企业共放号在20 ...

  3. ASP.NET MVC 学习之路-1

    本文在于巩固基础 学习参考书籍:ASP.NET MVC4 Web编程 首先确定我们学习MVC的目标: 我们学习ASP.NET MVC的目的在于开发健壮的.可维护的Web应用,当然这需要一定的知识基础, ...

  4. SQL函数介绍

    http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用 ...

  5. centos防火墙端口配置

    增加防火墙配置,允许8080端口: # vi /etc/sysconfig/iptables 在允许ssh的下面增加一条: -A INPUT -m state --state NEW -m tcp - ...

  6. SQL游标+递归查询客户子客户转换率

    ALTER PROCEDURE [dbo].[Account3YearsConversion ] as DECLARE @AccountId UNIQUEIDENTIFIER , @yearbefor ...

  7. DEV控件自定义排序实现

    一般的控件或者组件都支持按照某一列进行排序.但是,这种排序是根据数据源里的数据默认按照降序或升序排序的,同时这样的排序与字段的类型有关. 假设现在字段的类型是字符串类型 ,但是,存储的数据时数字加一些 ...

  8. 使用jQuery出现the function undefined

    出现function undefined往往是相关的JS文件没有导入导致,在相关文件都导入的情况下,使用jQuery提供的方法还会出现function undefined错误,或许就是jQuery对象 ...

  9. 初识JavaScript,感觉整个人都不好了。。。

    学习web前端的开发已经将近一个月了,开发中的三个大兄弟——“html”.“css”.“JavaScript”,小哥我已经深入接触了前两位,并与他俩建立的深厚的友谊.在编写过程中,不能说达到各位大神的 ...

  10. 异步流程控制库GoWithTheFlow

    异步流程控制库GoWithTheFlow 一个尾触发方式来控制异步流程的库, 有seq(顺序执行) par(同步执行) 两种方法 博客 http://notes.jetienne.com/2011/0 ...