流的讨论(2)

 源代码如下:

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>

using namespace std;

int main()
{
  ifstream input;
  ofstream output;
  int fri,sec,thr;
  float sum,ave;
  int ii,num;
  output.open("test.data");
  if (output.fail())
    {
       cout << "output fail/n";
       exit(1);
    }
  for(int i=1;i<=100;i++)
    {
       output << i << "/n";
    }
  output.close();
  input.open("test.data");
  if (input.fail())
    {
       cout << "input fail/n";
       exit(1);
    }
  sum=0;
  num=0;
  while(! input.eof())
    {
       input >> ii;
       sum=sum+ii;
       num++;
    }
  ave=sum/num;
  input.close();
  cout << "the average data is /t" << ave << "/n";
}
本程序先用输出流创建一个拥有从1到100一百个数据的文件,完后用输入流从该文件中读数据并计算平均值。

需要注意的一点就是判断文件是否读完的代码为input.eof(),eof的意思是end of file 因此当文件读完此判断为真,因此在输入的过程中他为假,因此为 while(! input.eof())

你可能感兴趣的:(File,input,float,iostream,output)