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. cocoa pods出现的错误

    ERROR:  While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod 解决办法: sudo gem ...

  2. C# 中4个访问符和8个修饰符详解

    4个访问修饰符(是添加到类.结构或成员声明的关键字) Public:公有的,是类型和类型成员的访问修饰符.对其访问没有限制. Internal:内部的,是类型和类型成员的访问修饰符.同一个程序集中的所 ...

  3. 【整理】SQLServer查询各种数据库对象(表,索引,视图,图表,存储过程等)

    首先明确数据库对象的定义:数据库对象定义数据库内容的结构.它们包含在数据库项目中,数据库项目还可以包含数据生成计划和脚本. 常见的数据库对象包括:表,索引,视图,图表,缺省值,规则,触发器,存储过程, ...

  4. HighlightingSystem插件使用(边缘发光)

    插件链接: http://pan.baidu.com/s/1dFwkaTr 密码: nw2c 导入Unity里面可能会报错,不过没关系,直接注释掉就可以了,我用的是Unity5.1的版本 可以看到如下 ...

  5. Eclipse 修改字体

  6. Android studio mac版本快捷键

    Mac下快捷键的符号所对应的按键 ⌥—> option|alt ⇧—>shift ⌃—>control ⌘—>command ⎋—>esc 注: 与F6/F7/F12等F ...

  7. php测试时不出现错误信息

    来源:http://blog.sina.com.cn/s/blog_6c9d65a101013vdj.html 在练习程序时,有时候写错了,在浏览器会打印出出错信息. 可我的程序始终没有出现. 我的环 ...

  8. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅.下面是一个标准的AndroidManifest.xm ...

  9. Python的编码规范(PEP 8 & Google Python guide)

    PEP 8 Python 代码规范整理 click here Goole Python 风格指南 中文版 click here 大家有取舍的看吧. 因为文章不是原创的,所以只贴地址,给大家造成麻烦了, ...

  10. Android 天天爱消除辅助

    简介 <天天爱消除>是一款移植于手游的消除类益智游戏,该游戏只有通过手机登录QQ跟微信才能进行,这样一来这款游戏必然会大红大紫. 功能 开发Android自动化触屏事件,录制操作脚本,实现 ...