zoukankan      html  css  js  c++  java
  • C++之检测文件结尾

      当使用文件作为输入流时,为了确保适时的结束文件读取操作,程序要靠检查文件尾来判断该何时停止读取。
    常用的检查文件尾方法有两种:
      两种方式均已将 fin 与文件关联,即 均已声明 fin 输入流,并已调用 open 成员函数打开了文件。
    第一种:
      该方式可以要求程序从文件中连续读取数字,直到没有更多的数字可供读取为止。代码如下:

    1 int next;
    2 while(fin >> next){
    3  //用户代码
    4 }


    第二种:
      该方式利用每个输入文件流都有的 eof 成员函数来判断何时读完文件的全部内容。代码如下:

    1 int number;
    2 fin.get(number);
    3 while( !fin.eof() ){
    4  //用户代码
    5  fin.get(number);
    6 }

      当 eof 函数检测到文件尾,会返回 真,否则返回 假。
      注意,用该种方式必须保证要读取文件结尾之后,eof 函数才会反应。这就是为何本段代码 while 中用 fin.get(number);结尾的原因。

    以上两种检测文件结尾在多数情况均可使用,但最好遵循以下原则:
      将输入作为文本处理并用 get 成员函数读取时,用 eof 成员函数方式。
      处理数值数据时,用第一种方式。

  • 相关阅读:
    Java面向对象——属性赋值的过程
    Java面向对象——类的成员之三:构造器(构造方法)constructor
    课后作业—5
    缓冲类的使用示例
    缓冲技术
    流的基类
    流的分类
    什么是流?
    关于开发中异常处理的建议
    阅读笔记-3
  • 原文地址:https://www.cnblogs.com/goodhx/p/5126331.html
Copyright © 2011-2022 走看看