zoukankan      html  css  js  c++  java
  • C++有循环地读文件

    之前写过一篇读写文件的博客,参见C++——简单的文件输入输出

    这个版本只是简单的介绍了文件读写的大体步骤,还存在很多问题。其中一个问题就是:你并不知道文件中有多少数据。如果你想读入文件,就必须要先查看文件,然后根据文件的长短编写程序,而且读入不同的文件时还需要改动。

    在SOLID五大原则中,一个非常重要的原则是OCP(开闭原则),即只对扩展开放,对修改关闭。每次运行需要修改,这严重违背了OCP原则。

    所以,我们要让读文件操作变得更加方便可行,不需要每次都修改。

    在ifstream流中有一个变量是eof(),当没有可以读取的数据时,eof()为true。

    这时候我们就可以使用while循环来更加方便地进行读操作了。

    #include <iostream>
    
    //1. 头文件<fstream>
    #include <fstream>
    
    using namespace std;
    
    int main()
    {
        //2. 创建流,并与文件相关联
        ifstream input("number.txt");
    
        //3. 从文件循环读入数据
        int number, sum = 0;
        cout << "numbers: " << endl;
        while (!input.eof()) {
            input >> number;
            cout << number << endl;
            sum += number;
        }
    
        cout << "The sum of all numbers: " << sum << endl;
    
        //4. 关闭流
        input.close();
    
        return 0;
    }

    执行结果:

     要注意:文件的后面不能有空白字符(包括空格,tab,换行),否则就会多读导致出错。

  • 相关阅读:
    水晶报表 VS2010 应用
    crystalreport使用方法
    spring MVC核心思想
    一台服务器配置多个TOMCAT
    SQL server索引
    锁机制
    JAVA书籍
    Live 直播过程
    html5 video微信浏览器视频不能自动播放
    设计模式 抽象工厂模式
  • 原文地址:https://www.cnblogs.com/bwjblogs/p/12625148.html
Copyright © 2011-2022 走看看