实验六 文本文件的简单应用

一.实验目的

(1)学会将程序运行的结果存入文本文件

(2)学会从文本文件中读取数据,并进行运算。

二.实验内容

1.范例:修改实验五中的第二题,求出水仙花数后不是在屏幕上显示而是存入文本文件。请在退出程序后,用记事本打开该文本文件,查看结果。

【分析】(使用文件的格式)

(1)首先,说明一个文件流对象(内部文件)。文件流类型ifstream支持从输入文件中提取数据的操作,

而文件流类型ofstream用于完成将数据写入输出文件中各种操作。

ifstream ifile ;//定义文件输入流对象ifile
ofstream ofile ; ///定义文件输出流对象ofile
特别注意:输入文件用于读操作,输出文件用于写操作。

(2)然后打开文件。在文件流对象和磁盘文件名之间建立联系。

ifile.open(“my_in_file.txt”);
ofile.open(“my_out_file.txt”);

(3)对文件进行读/写操作。可以使用C++的提取运算符(>>)和插入运算符(<<)进行,

也可以使用读字符的get( )函数和读字符串的getline( )函数。

读写文件时,使用输出文件(如ofile)代替cout,用输入文件(如 ifile)代替cin。

(4)最后关闭文件。

ifile.close( );
Ofile.close( );
关闭文件时,系统把与该文件相关联的文件缓冲区中的数据写到磁盘文件中,保证文件的完整性;

同时把磁盘文件名与文件流对象之间的关联断开,可防止误操作修改了磁盘文件。

【程序】

 2.范例:编程从上题生成的文本文件读取水仙花数,并显示在屏幕上。
【程序】

 

【思考】

(1)本程序在读到文件的结束符之前,先读了一个空串,所以输出时多了一个空行。能去掉该空行吗?请试试。

(2)请尝试使用别的方法对文件进行读/写操作。

 

3. 编写程序求500 以内的勾股弦数,即满足 c2=b2+a2(2为指数)的3个数,要求b>a。将所有符合要求的组合存入文本文件中。

 

4.编写程序从上题建立的文本文件中读取500以内的勾股弦数并显示在屏幕上。