#文本文件
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int a[10],max,i,order;
ifstream infile("f1.dat",ios::in);
{
cout << "open error !" << endl;
exit(1);
}
for (i=0;i<10;i++)
{
infile >> a[i];
cout << a[i] << " ";
}
cout << endl;
max=a[0];
order=0;
for (i=1;i<10;i++)
{
if(a[i]>max)
{
max=a[i];
order=i;
}
}
cout << "max=" << max << endl << "order=" << order << endl;
infile.close();
return 0;
}
#二进制文件
#include <fstream>
#include <iostream>
using namespace std;
struct student
{
int num;
char name[20];
float score;
};
int main()
{
student stud[5]={1001,"Li",85,1002,"Fun",97.5,1004,"Wang",54,1006,"Tan",75.6,1010,"ling",96};
fstream iofile("stud.dat",ios::in|ios::out|ios::binary);
if(!iofile)
{
cerr << "open error !" << endl;
abort();
}
for(int i=0;i<5;i++)
iofile.write((char*)&stud[i],sizeof(stud[i]));
student stud1[5];
for (int i=0;i<5;i=i+2)
{
iofile.seekg(i*sizeof(stud1[i]),ios::beg);
iofile.read((char*)&stud1[i/2],sizeof(stud1[i/2]));
cout << stud1[i/2].num << " " << stud1[i/2].name << " " << stud1[i/2].score << endl;
}
cout << endl;
stud[2].num=1012;
strcpy(stud[2].name,"Wu");
stud[2].score=60;
iofile.seekp(2*sizeof(stud[0]),ios::beg);
iofile.write((char*)&stud[2],sizeof(stud[2]));
iofile.seekg(0,ios::beg);
for(int i=0;i<5;i++)
{
iofile.read((char*)&stud[i],sizeof(stud[i]));
cout << stud[i].num << " " << stud[i].name << " " << stud[i].score << endl;
}
iofile.close();
return 0;
}