预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共48页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C++程序设计主要内容数据文件数据文件文件I/O流类体系文件I/O流类体系文件I/O流类体系文件的使用文件的使用━━定义文件流文件的使用━━文件的打开文件的使用━━文件的打开文件的使用━━文件的打开文件的使用━━文件的读/写文件的使用━━文件的关闭文件的随机访问文件的随机访问文件的随机访问文本文件的使用#include<fstream.h> #include<string.h> #include<stdlib.h> #include<iomanip.h> classStudent {intid;charname[10]; intscore; public: Student(inti=0,char*na=0,ints=0) {id=i;if(na)strcpy(name,na);score=s;} friendistream&operator>>(istream&,Student&); friendostream&operator<<(ostream&,Student&); friendbooloperator<(Student&,Student&); }; istream&operator>>(istream&in,Student&s) {returnin>>s.id>>s.name>>s.score;} ostream&operator<<(ostream&out,Student&s) {returnout<<setw(12)<<s.id<<setw(14)<<s.name<<setw(8)<<s.score<<endl;} booloperator<(Student&s1,Student&s2) {if(s1.score<s2.score)returntrue;elsereturnfalse;}voidmain() {ifstreaminf(“e:\\sss\\s1.txt”,ios::in|ios::nocreate|ios::ate); if(!inf){cout<<“打开文件s1.txt失败!\n”;exit(1);} intn=inf.tellg();inf.seekg(0); inf.ignore(80,‘\n’);n=n/inf.gcount();inf.seekg(0); Student*p=newStudent[n]; inti,j=0;Studentt; cout<<“排序前:\n”; for(i=0;i<n;i++){inf>>p[i];cout<<p[i];} inf.close(); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(p[i]<p[j]){t=p[i];p[i]=p[j];p[j]=t;} ofstreamoutf(“e:\\sss\\s2.txt”); cout<<“排序后:\n”; for(i=0;i<n;i++){cout<<p[i];outf<<p[i];} outf.close(); delete[]p;}【例】(有5名学生上交的C++源程序文件sc1.cpp、sc2.cpp、…,编写程序将这些文件都拷入供教师批阅的文本文件tsc.txt中。) #include<fstream.h> #include<stdlib.h> voidmain() {charfname[12]=“sc1.cpp”,s[100]; ifstreaminf; ofstreamoutf(“tsc.txt”); for(charn=‘1’;n<=‘5’;n++) {fname[2]=n; inf.open(fname,ios::in|ios::nocreate); if(!inf){cout<<“无法打开文件”<<fname<<“!\n”; inf.clear();continue;} outf<<“\nFrom:”<<fname<<endl; while(inf.getline(s,100))outf<<s<<endl; inf.close();} outf.close();}二进制文件的使用二进制文件的使用【例】(将32~39的整数中,能被3或5整除的数写入文本文件my1.dat中、也写入二进制文件my2.dat中。然后用记事本分别打开这两个文件,进行观察比较。) #include<fstream.h> #include<stdlib.h> voidmain() {ofstreamoutf1(“my1.dat”); if(!outf1){cout<<“不能打开文件my1.dat!\n”;exit(1);} ofstreamoutf2(“my2.dat”,ios::out|ios::binary); if(!outf2){cout<<“无法打开文件my2.dat!\n”