zoukankan      html  css  js  c++  java
  • C++简单的文件输入输出

       之前的博客里,已经说过如何从键盘读入(cin),以及如何输出到控制台(cout)。但是仅仅是这样的输入和输出方式并不能满足需求。更多的时候我们需要读写文件来获得、存储我们的数据。

    概述

    不管是读文件还是写文件,大体都可以分为5个步骤:

      1. 头文件<fstream>

      2. 创建流

      3. 打开文件,使文件和流建立联系

      4. 读写操作

      5. 关闭文件

    解释一下什么是流。

    流,是一种抽象的概念。我们都知道,计算机的数据都是由0和1构成,不管是字符串,图片还是音频。当我们要将这些文件进行操作的时候,实际上操作的是这些0和1的数据。假如我想把一个文件从C盘剪切到D盘,那么我可以做一个这样的类比:把文件的数据比作水。既然我想从一个地方把这些水运输到另一个地方,那么我还要有一个管道,这个管道连接两地(即C盘和D盘),水(0和1的数据流)在里面有方向地流动,最终全部抵达另一个地方。

    参考博客:https://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html

    写文件

    #include <iostream>
    
    //1. 头文件<fstream>
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
        //2. 创建流
        ofstream output;
        
        //3. 打开文件,将流与文件相关联,这里使用相对路径
        output.open("number.txt");
        
        //4. 向文件写入数据
        output << 1 << " " << 2 << " " << 3 << endl;
        
        //5. 关闭流
        output.close();
        
        return 0;
    }

     运行结果如下:

     读文件

    #include <iostream>
    
    //1. 头文件<fstream>
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
        //2. 创建流
        ifstream input;
    
        //3. 打开文件,将流与文件相关联
        //2, 3步可以直接合并为:ifstream input("number.txt");
        input.open("number.txt");
    
        //4. 从文件读入数据
        int number1, number2, number3;
        input >> number1 >> number2 >> number3;
    
        cout << "number1: " << number1 << endl;
        cout << "number2: " << number1 << endl;
        cout << "number3: " << number1 << endl;
    
        //5. 关闭流
        input.close();
    
        return 0;
    }

    运行结果:

  • 相关阅读:
    一个python实现重试机制的简要实践
    元编程技术和动态编译
    NDoc使用简要手册增加了例子代码
    问dudu,评论是否只能删除,不可以直接修改?
    《C#类设计手册》读书随笔(4)
    .NET下几种动态生成代码方式比较
    NDoc使用简要手册
    "引用"表示什么?
    .NET环境编程全景不错的书
    C#实现动态灵活调用业务方法的机制
  • 原文地址:https://www.cnblogs.com/bwjblogs/p/12614644.html
Copyright © 2011-2022 走看看