问答题 使用VC6打开源程序文件modi3.cpp。此程序的功能是将out1.txt文件中的内容输出到屏幕与文件中。输出如下:李一 1.78m 21王一 1.65m 23out2.txt文件的内容如下:李一 1.78m 21王一 1.65m 23其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)以输入方式打开文件out1.txt,请在注释//********1********后添加适当的语句。(2)以输出方式打开文件out2.txt,请在注释//********2********后添加适当的语句。(3)从文件中获得一个字符,判断是否结束,如果结束则退出输出。请在注释//********3********后添加适当的语句。(4)把获得的字符输出到文件中,请在注释//********4********后添加适当的语句。注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。#include<iostream.h>#include<fstream.h>#include<stdlib.h>void main(){char ch;fstream infile,outfile;//********1********infile.open("out1.txt");if(!infile){cout<<"out1.txt文件不能打开"<<endl;abort();}//********2********outfile.open("out2.txt");if(!outfile){cout<<"out2.txt文件不能打开"<<endl;abort();}//********3********while(){cout<<ch;//********4********}cout<<endl;infile.close();outfile.close(),}
【正确答案】正确答案:(1)将“infile.open("out1.txt");”补充完整为:infile.open("out1.txt",ios::in); (2)将“outfile.open("out2.txt")j”补充完整为:outfile.open("out2.txt",ios::out); (3)将“while()”补充完整为:while(infile.get(ch)) (4)添加语句:outfile<<ch;
【答案解析】解析:(1)题目1要求“以输入方式打开文件out1.txt”。在C++中调用文件流的成员函数open的格式为,文件流类.open("文件名",ios::in),所以第1个标识下语句就该为“infile.open("out1.txt",ios::in);”。 (2)题目2要求“以输出方式打开文件out2.txt”。同理第2个标识下修改为“outfile.open("out2.txt",ios::out);”。 (3)题目3要求“从文件中获得一个字符,判断是否结束”。程序中的“while()”循环判断语句中缺少从文件中获得的字符,所以这里补全while循环判断条件,即“while(infile.get(ch))”。 (4)题目4要求“把获得的字符输出到文件中”。在C++中,用流插入运算符为“<<”,所以根据题干中的要求在第四个标识下补全写入文件的流操作语句,即“outfile<<ch;”。