一、常用文件打开方式

二、读写文件步骤(文本文件)

1、写文件步骤

1)#include <fstream>  //包含头文件

2)ofstream ofs;  //创建流对象

3)ofs.open("文件路径",打开方式);  //打开文件

4)ofs << "写入的数据";  //写数据

5)ofs.close();  //关闭文件

2、写文件代码部分

  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. void test()
  6. {
  7. //ofstream ofs("test.txt",ios::out); //创建流对象,并创建文件和打开方式
  8. ofstream ofs; //创建流对象
  9. ofs.open("test.txt", ios::out); //创建文件和打开方式
  10. ofs << "姓名:码子" << endl;
  11. ofs << "年龄:18" << endl;
  12. ofs.close(); //关闭文件
  13. }
  14.  
  15. int main()
  16. {
  17. test();
  18.  
  19. return ;
  20. }

3、读文件步骤

1)#include<fstream>  //包含头文件

2)ifstream ifs;  //创建流对象

3)ifs.open("文件路径",打开方式);

4)读数据(四种方式读取)

5)ifs.close();  //关闭文件

4、读文件代码部分

  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. using namespace std;
  5.  
  6. void test()
  7. {
  8. ifstream ifs;
  9. ifs.open("test.txt", ios::in);
  10. //判断是否打开文件
  11. if (!ifs.is_open())
  12. {
  13. cout << "打开文件失败" << endl;
  14. }
  15. //第一种读取方式
  16. /*char buf[1024] = "";
  17. while (ifs>>buf)
  18. {
  19. cout << buf << endl;
  20. }*/
  21.  
  22. //第二种读取方式
  23. /*char buf[1024] = "";
  24. while (ifs.getline(buf,sizeof(buf)))
  25. {
  26. cout << buf << endl;
  27. }*/
  28.  
  29. //第三种读取方式
  30. string buf = "";
  31. while (getline(ifs, buf))
  32. {
  33. cout << buf << endl;
  34. }
  35.  
  36. //第四种读取方式,不推荐
  37. /* char c;
  38. while ((c = ifs.get()) != EOF)
  39. {
  40. cout << c;
  41. }*/
  42.  
  43. ifs.close();
  44. }
  45.  
  46. int main()
  47. {
  48. test();
  49.  
  50. return ;
  51. }

三、读写文件步骤(二进制文件)

1、写文件步骤

和文本文件类似,不在累赘。

2、写文件代码(二进制)

  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. using namespace std;
  5.  
  6. class Cat
  7. {
  8. public:
  9. Cat(const char name[] = "", int age = ,const char color[]="")
  10. {
  11. strcpy_s(m_Name, name);
  12. strcpy_s(m_Color,color);
  13. m_Age = age;
  14. }
  15. char m_Name[];
  16. char m_Color[];
  17. int m_Age;
  18. };
  19.  
  20. void test1()
  21. {
  22. Cat c("老黄",,"Yellow");
  23. ofstream ofs("Cat.txt", ios::out | ios::binary); //创建流对象,并设置打开文件方式
  24. ofs.write((const char*)&c, sizeof(c)); //写入文件
  25. ofs.close(); //关闭文件
  26. }
  27.  
  28. int main()
  29. {
  30. test1();
  31. return ;
  32. }

3、读文件步骤

省略

4、读文件代码(二进制)

  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. using namespace std;
  5.  
  6. class Cat
  7. {
  8. public:
  9. Cat(const char name[] = "", int age = ,const char color[]="")
  10. {
  11. strcpy_s(m_Name, name);
  12. strcpy_s(m_Color,color);
  13. m_Age = age;
  14. }
  15. char m_Name[];
  16. char m_Color[];
  17. int m_Age;
  18. };
  19.  
  20. void test2()
  21. {
  22. Cat c;
  23. ifstream ifs("Cat.txt", ios::in | ios::binary); //创建流对象,并设置打开文件方式
  24. //验证是否成功打开文件
  25. if (!ifs.is_open())
  26. {
  27. cout << "文件打开失败" << endl;
  28. }
  29. ifs.read((char*)&c, sizeof(c)); //读出文件
  30. cout << "名字: " << c.m_Name << endl;
  31. cout << "颜色: " << c.m_Color << endl;
  32. cout << "年龄: " << c.m_Age << endl;
  33. ifs.close(); //关闭文件
  34. }
  35.  
  36. int main()
  37. {
  38. test2();
  39. return ;
  40. }

C++文件读写demo的更多相关文章

  1. C语言文件读写Demo

    CIODemo.c #include <stdio.h> #include <time.h> #define INPUT_BUFFER_SIZE 100 * 1024 int ...

  2. java 文件读写demo

    分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...

  3. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  4. JAVA之IO文件读写

    IO概述:                                                          IO(Input output)流 作用:IO流用来处理设备之间的数据传输 ...

  5. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  6. 实现动态的XML文件读写操作

    实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...

  7. RandomAccessFile多线程下载、复制文件、超大文件读写

    最近在准备面试,翻了翻自己以前写的Demo,发现自己写了不少的工具包,今天整理了一下,分享给大家. 本文包含以下Demo: 1.常用方法测试 2.在文件中间插入一段新的数据 3.多线程下载文件 4.多 ...

  8. python 文件读写方式

    一.普通文件读写方式 1.读取文件信息: with open('/path/to/file', 'r') as f: content = f.read() 2.写入文件中: with open('/U ...

  9. C# 文件读写系列二

    读取文件原则上非常简单,但它不是通过FileInfo和DirectoryInfo来完成的,关于FileInfo和DirectoryInfo请参考C# 文件操作系列一,在.Net Framework4. ...

随机推荐

  1. ORALCE逻辑存储结构

    ORACLE逻辑存储结构块: 数据块 他是最基础的逻辑存储单元,数据以行的形式存储到我么的数据块中 区 :多个块的集合 并且区组成了物理的数据文件 段 :(表 索引 物化视图 物化视图日志 大对象 大 ...

  2. WeChall_Training: PHP LFI (Exploit, PHP, Training)

    Your mission is to exploit this code, which has obviously an LFI vulnerability: GeSHi`ed PHP code 1 ...

  3. ARTS Week 13

    Jan 20, 2020 ~ Jan 26, 2020 Algorithm Problem 141 Linked List Cycle (环形链表) 题目链接 题目描述:给定一个链表,判断链表中是否存 ...

  4. 【WPF学习】第四十三章 路径和几何图形

    前面四章介绍了继承自Shape的类,包括Rectangle.Ellipse.Polygon以及Polyline.但还有一个继承自Shape的类尚未介绍,而且该类是到现在为止功能最强大的形状类,即Pat ...

  5. 蓝桥杯2015年省赛C/C++大学B组

    1. 奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其 ...

  6. [Effective Java 读书笔记] 第二章 创建和销毁对象 第三 四条

    第三条 用私有构造器或者枚举类型强化singleton属性 singleton指只能被实例化一次的类,即将构造器设置为私有,使用公有静态成员来实例化,且只实例化一次对象 第四条 通过私有构造器强化不可 ...

  7. 11-MyBatis01

    今日知识 1. MyBatis简介 2. MyBatis入门 3. 全局配置文件其他配置 4. MyBatis的映射文件 5. 动态SQL 6. mybatis和hibernate区别 MyBatis ...

  8. 数据算法 --hadoop/spark数据处理技巧 --(7.共同好友 8. 使用MR实现推荐引擎)

    七,共同好友. 在所有用户对中找出“共同好友”. eg: a    b,c,d,g b    a,c,d,e map()->  <a,b>,<b,c,d,g> ;< ...

  9. drf序列化高级、自定义只读只写、序列化覆盖字段、二次封装Response、数据库查询优化(断关联)、十大接口、视图家族

    目录 自定义只读 自定义只写 序列化覆盖字段 二次封装Response 数据库关系分析 断外键关联关系 ORM操作外键关系 ORM四种关联关系 基表 系列化类其他配置(了解) 十大接口 BaseSer ...

  10. iptables详解(8)iptables自定义链

    自定义链存在的意义:对链进行分类 target可能是一个“动作“也可能是一个”自定义链” 1.新增自定义链. root@ubuntu:~# iptables -t filter -N IN_WEB#结 ...