首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.txt文件中的内容输出到屏幕,并且将文件按照以上方
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.txt文件中的内容输出到屏幕,并且将文件按照以上方
admin
2019-06-05
56
问题
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。
此程序将int.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。
(2)把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。
(3)将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。
(4)使用文件流对象打开输入文件in.txt,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
Class TestClass
{
public:
TestClass(char*fileName)
{
len=0;
fstream infile;
infile.open(fileName,
ios::in);
char ch;
//********1********
while()
{
cout<<ch;
//********2********
}
infile.close();
}
void split()
{
fStream out file1;
fStream outfile2;
outfilel.open("out1.txt",ios::out);
outfile2.open("out2.txt",ios::out);
int i=0;
for(i=0;i<len/2;i++)
{
outfilel<<buf
;
}
do{
//********3********
}while(i!=len);
outfile1.close();
outfile2.close();
}
private:
int len;
char buf[1024];
};
void main()
{
//********4********
TestClass Fsp();
Fsp.split();
return;
}
选项
答案
(1)将“while()”完整为:while(infile.get(ch)) (2)添加语句:buf[1en++]=ch; (3)添加语句:outfile2<<buf[i++]; (4)将“TestClass Fsp();”完整为:TestClasSFsp("modi3.txt");
解析
(1)题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环判断语句中缺少从文件中获得的字符,所以这里补全while循环判断条件,即“while(infile.get(ch))”。
(2)题目2要求“把获得的输入文件的内容存储到bur中,并且用len记录下文件的长度。”所以为buf分配空间,即“buf[len++]=ch;”。
(3)题目3要求“将输入文件的后一半内容存储在第二个文件中。”在C++中,用流插入运算符为“<<”,所将buf中存放的数据存入文件outfile2,以根据题干中的要求,即这里补全“outfile2<<buf[i++];”。
(4)题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数。即“TestClassFsp("modi3.txt");”。
转载请注明原文地址:https://www.kaotiyun.com/show/hm8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
C++中的模板分为函数模板和______。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
设有以下定义和程序:#includeclassA1{public:voidshow1(){cout
下面关于指针的说法中错误的是()。
在下列关于二叉树的叙述中,正确的一项是()。
()使一个函数可以定义成对许多不同数据类型完成同一个任务。
若已知a=10,b=20,则表达式!a<b的值为【】。
已知inta,*pa=&a;输出指针pa十进制的地址值的方法是()。
随机试题
触电急救时首先要尽快地()。
(2005年第137题)病毒性心肌炎的常见病原体有
A.中药材B.中药饮片C.中成药D.血液制品(特殊适应证)E.果味制剂规定列入基本医疗保险基金不予支付的药品目录的是()
某新建企业有两个设计方案,年产量均为800件,方案甲总投资1000万元,年经营成本400万元;方案乙总投资1500万元,年经营成本360万元,当行业的基准投资回收期( )12.5午时,甲方案优。
定期寿险区别于其他人寿产品所特有的条款为()。(1)可续保条款(2)可返现条款(3)可抵押条款(4)可转换条款
下列有关审计证据的说法中,错误的是()。
(1)Thishasbeenquiteaweekforliterarycoups.Inanalmostentirelyunexpectedmove,theSwedishAcademyhavethislunchtime
ThenumberofpeoplewhosurftheInternetviamobiledevicesinChinahasforthefirsttime【C1】______thenumberusingcomputer
Theideaofusingyourdishwashertocookamealhasbeenaroundsincethe’80s.It’sbeenusedtocook【C1】______mainlyfish.Th
A、Theyguideusinhandlinghumanrelationships.B、Theyhelpusseetheimportantvaluesofaculture.C、Theyhelpusexpressou
最新回复
(
0
)