欢迎来到天天文库
浏览记录
ID:20501761
大小:55.00 KB
页数:5页
时间:2018-10-13
《文件输入输出(从磁盘到磁盘)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2.3文件的输入输出(从磁盘到磁盘)在上一节通过cin和cout实现了从键盘输入数据和将数据输出到屏幕中显示的方法。本节主要介绍如何从磁盘文件中获得数据和把程序中的数据输出保存到磁盘文件中。C++程序中把数据从键盘输入和输出到屏幕默认为标准操作。实现对磁盘文件的操作可以看成是一种数据输入输出的重定向,即输入输出的方向从键盘和屏幕改变为磁盘。2.3.1输入输出重定向下面对[例ch2_1]加以改进,把原来对屏幕的输出,改为对指定文件的输出,以便实现数据输入输出的重定向功能。[例ch2_8]文件读写的例
2、子#include#includevoidmain(){intm=7,n=4;floata=5.0,b=6.5,x;charc1='a',c2;ofstreamcout("g:\c\ch2_8\ch2_8.txt");x=a*b;c2=c1+1;cout<3、的结果完全相同。分析[例ch2_8]可见,要实现对文件的输出,需有以下几点改进。1.增加#include,这是为下面一条语句的使用作说明。2.增加ofstreamcout("g:\c\ch2_8\ch2_8.txt");实现重定向功能。该语句告诉计算机以后对cout的输出改为对文件ch2_8.txt的的写入。3.由于转义字符以“”开头,为避免出现二义性,文件名中表示路径用的“”必须以“\”代替。[例ch2_9]在文件ch2_9_in.txt中有一位学生五门课的成绩4、,求其平均值并将结果保存到文件ch2_9_out.txt中。以上两个文件存放在g:cch2_9目录中,五门课的成绩分别为:8568729488。#include#includevoidmain(){floats1,s2,s3,s4,s5,average;ifstreamcin("g:\c\ch2_9\ch2_9_in.txt");ofstreamcout("g:\c\ch2_9\ch2_9_out.txt");cin>>s1>>s2>>5、s3>>s4>>s5;average=(s1+s2+s3+s4+s5)/5;cout<<"averagescore:"<6、,用于从文件中读出内容。fstream:输入输出,用于既要读又要写的文件的操作。以及包含文件fstream.h。2.3.2文件的操作以上,虽已实现了对文件的读写,但对于同时还要实现标准的输入输出比较麻烦,缺少灵活性。可以采用以下方法实现文件的灵活操作。1.文件变量的定义文件变量的定义格式是:文件变量类型文件变量名;定义输入文件变量infile例:ifstreaminfile;定义输出文件变量outfile例:ofstreamoutfile;2.文件的打开与关闭磁盘上可能有众多的文件,所以在文件开始7、读写之前,必须先要指定对什么文件进行操作,这就是所谓的打开文件。可以用.open("文件名")来打开文件,例如:打开文件:infile.open("income.ini");由于磁盘上的文件可能会因为没有写对路径、文件损坏等原因而不能打开,所以在文件打开的操作上,一般会采用如下“标准”格式,以便及时发现错误;从文件中读入数据:ifstreaminfile;//定义输入文件变量infile.open("income.ini");//打开输入文件if(!infile)//测试文件的打开状态{cout<8、<"不能打开income.ini文件";return0;}把数据写入到文件中:ofstreamoutfile;//定义输出文件变量outfile.open("tax.out");//打开输出文件if(!outfile)//测试文件的打开状态{cout<<"不能打开tax.out文件";return0;}上述if{……}为分支语句,将在第四章讲述,用于上面程序中的作用是:当打开文件失败时,会报告不能打开文件。并用return0;语句返回一个0。文件打开后,会占用计算机系统的资
3、的结果完全相同。分析[例ch2_8]可见,要实现对文件的输出,需有以下几点改进。1.增加#include,这是为下面一条语句的使用作说明。2.增加ofstreamcout("g:\c\ch2_8\ch2_8.txt");实现重定向功能。该语句告诉计算机以后对cout的输出改为对文件ch2_8.txt的的写入。3.由于转义字符以“”开头,为避免出现二义性,文件名中表示路径用的“”必须以“\”代替。[例ch2_9]在文件ch2_9_in.txt中有一位学生五门课的成绩
4、,求其平均值并将结果保存到文件ch2_9_out.txt中。以上两个文件存放在g:cch2_9目录中,五门课的成绩分别为:8568729488。#include#includevoidmain(){floats1,s2,s3,s4,s5,average;ifstreamcin("g:\c\ch2_9\ch2_9_in.txt");ofstreamcout("g:\c\ch2_9\ch2_9_out.txt");cin>>s1>>s2>>
5、s3>>s4>>s5;average=(s1+s2+s3+s4+s5)/5;cout<<"averagescore:"<6、,用于从文件中读出内容。fstream:输入输出,用于既要读又要写的文件的操作。以及包含文件fstream.h。2.3.2文件的操作以上,虽已实现了对文件的读写,但对于同时还要实现标准的输入输出比较麻烦,缺少灵活性。可以采用以下方法实现文件的灵活操作。1.文件变量的定义文件变量的定义格式是:文件变量类型文件变量名;定义输入文件变量infile例:ifstreaminfile;定义输出文件变量outfile例:ofstreamoutfile;2.文件的打开与关闭磁盘上可能有众多的文件,所以在文件开始7、读写之前,必须先要指定对什么文件进行操作,这就是所谓的打开文件。可以用.open("文件名")来打开文件,例如:打开文件:infile.open("income.ini");由于磁盘上的文件可能会因为没有写对路径、文件损坏等原因而不能打开,所以在文件打开的操作上,一般会采用如下“标准”格式,以便及时发现错误;从文件中读入数据:ifstreaminfile;//定义输入文件变量infile.open("income.ini");//打开输入文件if(!infile)//测试文件的打开状态{cout<8、<"不能打开income.ini文件";return0;}把数据写入到文件中:ofstreamoutfile;//定义输出文件变量outfile.open("tax.out");//打开输出文件if(!outfile)//测试文件的打开状态{cout<<"不能打开tax.out文件";return0;}上述if{……}为分支语句,将在第四章讲述,用于上面程序中的作用是:当打开文件失败时,会报告不能打开文件。并用return0;语句返回一个0。文件打开后,会占用计算机系统的资
6、,用于从文件中读出内容。fstream:输入输出,用于既要读又要写的文件的操作。以及包含文件fstream.h。2.3.2文件的操作以上,虽已实现了对文件的读写,但对于同时还要实现标准的输入输出比较麻烦,缺少灵活性。可以采用以下方法实现文件的灵活操作。1.文件变量的定义文件变量的定义格式是:文件变量类型文件变量名;定义输入文件变量infile例:ifstreaminfile;定义输出文件变量outfile例:ofstreamoutfile;2.文件的打开与关闭磁盘上可能有众多的文件,所以在文件开始
7、读写之前,必须先要指定对什么文件进行操作,这就是所谓的打开文件。可以用.open("文件名")来打开文件,例如:打开文件:infile.open("income.ini");由于磁盘上的文件可能会因为没有写对路径、文件损坏等原因而不能打开,所以在文件打开的操作上,一般会采用如下“标准”格式,以便及时发现错误;从文件中读入数据:ifstreaminfile;//定义输入文件变量infile.open("income.ini");//打开输入文件if(!infile)//测试文件的打开状态{cout<
8、<"不能打开income.ini文件";return0;}把数据写入到文件中:ofstreamoutfile;//定义输出文件变量outfile.open("tax.out");//打开输出文件if(!outfile)//测试文件的打开状态{cout<<"不能打开tax.out文件";return0;}上述if{……}为分支语句,将在第四章讲述,用于上面程序中的作用是:当打开文件失败时,会报告不能打开文件。并用return0;语句返回一个0。文件打开后,会占用计算机系统的资
此文档下载收益归作者所有