使用VC++6.0打开源程序文件3.cpp。其中类TC用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。此程序将in.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释1后添加适当的语句。
(2)把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释2后添加适当的语句。
(3)将输入文件的后一半内容存储在第二个文件中,请在注释3后添加适当的语句。
(4)使用文件流对象打开输入文件in.txt,请在注释4后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
试题程序:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
class TC
public:
TC(char *fileName)
len=0;
fstream infile;
infile.open(fileName,ios::in);
char ch;
//********1********
while()
cout<<ch;
//********2********
infile.close();
void split()
fstream outfile1;
fstream outfile2;
outfile1.open("out1.txt",ios::out);
outfile2.open("out2.txt",ios::out);
int i=0;
for(i=0;i<1en/2;i++)
outfile1<<buf[i];
do
//********3********
while(i!=len);
outfile1.close();
outfile2.close();
private:
int len;
char buf[1024];
;
void main()
//********4********
TC obj();
obj.split();
return;
参考答案:“while()”应改为“while(infile.get(oh))”。