资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1第十四章 输入/输出流类库 2编译系统已经以运算符或函数的形式做好了对标准外设(键盘、屏幕、打印机、文件)的接口,使用时只需按照要求的格式调用即可。cinx; couta;cout”,实现对象的输入和输出。重载这二个运算符时,在对象所在的类中,将重载这二个运算符的函数说明该类的友元函数。重载提取运算符的一般格式为:友元函数friend istream 返回值类型函数名左操作数右操作数cina;operator(cin, a)7友元函数friend istream 返回值类型函数名左操作数右操作数cina;operator(cin, a)返回值类型:类istream的引用,cin中可以连续使用运算符“”。cinab;第一个参数:是“”的左操作数cin类型,类istream的引用第二个参数:是“”的右操作数,即欲输入的对象的引用.istream 8class A float x, y;public:.;. A a;cina;.friend istream istream return is;重新定义输入流在类中原型说明在类外定义函数返回输入流9class incount int c1,c2; public:incount(int a=0,int b=0)c1=a; c2=b; void show(void)cout(istream ; istream return is; void main(void) incount x1,x2; x1.show (); x2.show (); cinx1; cinx2; x1.show (); x2.show (); 重载输入函数原型说明重载输入函数定义10友元函数friend ostream 将输入流改为输出流。11class A float x, y;public:.;. A a(2,3);cout(istream friend ostream return is; ostream /调用输入函数 cinx2; coutx; cout其中定义了各种文件操作运算符及函数。15内存变量(程序)键盘输入文件屏幕输出文件cinxcoutxoutfilexy;myfile1.txt 3 4内存infilexy34用infile代替myfile1.txt进行操作。22ifstream outfile; /定义输出文件类对象infile.open(“myfile2.txt”);/利用函数打开某一文件float x3 , y4;outfilexy;outfileai;/将“file1.txt”中的十个整型数输入到ai中for(i=0;ich;/输入pfile2filename1; coutfilename2; ifstream infile(filename1); ofstream outfile(filename2); char ch; while(infile.get(ch) outfile.put(ch); infile.close(); outfile.close(); 输入文件(源文件)名输出文件(目的文件)名用构造函数打开文件从源文件中读取一个字 符,至文件尾停止循环将该字符输出至目的文件关闭文件30void main(void) char filename1256,filename2256; char buf300; coutfilename1; coutfilename2; fstream infile,outfile; infile.open(filename1,ios:in); outfile.open(filename2,ios:out); while(infile.getline(buf,300) outfilefilename1; cout filename2; fstream infile,outfile; infile.open(filename1,ios:in | ios:binary); outfile.open(filename2,ios:out | ios:binary); int n; while (!infile.eof()/文件不结束,继续循环 infile.read(buff,4096);/一次读4096个字节 n=infile.gcount();/取实际读的字节数 outfile.write(buff,n);/按实际读的字节数写入文件 infile.close(); outfile.close(); 36文件指针文件内容文件指针当一打开文件,文件指针位于文件头,并随着读写字节数的多少顺序移动。可以利用成员函数随机移动文件指针。37随机读取二进制文件infile.seekg(int);/将文件指针移动到由参数指定的字节处infile.seekg(100);/将文件指针移动到距离文件头100个字节处infile.seekg(int, ios:_dir);移动的字节数相对位置infile.seekg(100, ios:beg);/移动到距文件头100个字节_dir: beg: 文件头 cur: 当前位置 end: 文件尾infile.seekg(-100, ios:cur);/移动到距当前位置前100个字节infile.seekg(-500, ios:end);/移动到距文件尾前500个字节38void main(void ) ofstream outfile(“data1.dat”,ios:out| ios:binary); int i;for(i=5;itmp)sum+=tmp;f1.close( );coutsumendl;40如果令A,B,C,D,,X,Y,Z这26个英文字母,分 别等于百分之1,2,24,25,26个数值,那么我们就能得出如下有趣的结论:HARD WORD 8+1+18+4+23+15+18+11=98KNOWLEDGE 96%LOVE 54% LUCK 47%计算一下MONEY STUDY ATTITUDE
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号