C++中对文件进行读写时,如果定义即可读又可写的文件,那么在读写交互时,一定要注意流的坐标位置,否者可能操作会失效。下面的例子中,先对保存在文件中一系列成绩数据进行读入,然后分级别统计,最后将统计结果写在文件中。
#include <fstream> //操作文件必写
#include <iostream>
#include <cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int a=0,b=0,c=0,d=0,e=0;
double sum=0,avg=0,score;
int stage;
//ifstream infile("english.txt",ios::in);
fstream inoutfile;
inoutfile.open("english.txt",ios::out|ios::in);
if (!inoutfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for (int i=0;i<100;i++)
{
inoutfile>>score;
sum+=score;
stage=score/10;
switch(stage){
case 10:
case 9:++a;break;
case 8:++b;break;
case 7:++c;break;
case 6:++d;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:++e;
}
}
//i