首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.tXt文件中的内容输出到屏幕,并且将文件按
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将int.tXt文件中的内容输出到屏幕,并且将文件按
admin
2020-05-14
110
问题
使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。
此程序将int.tXt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件outl.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。
(2)把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。
(3)将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。
(4)使用文件流对象打开输入文件in.txt,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
1 #include
2 #include
3 #include
4 class TestClass
5 {
6 public:
7 TestClass fchar*fileName)
8 {
9 len=0,
10 fstream infile ;
11 infile.open(fileName,ios::in);
12 char ch;
13 //********1********
14 while()
15 {
16 cout<
17 //********2********
18
19 }
20 infile.Close();
21 }
22 void split()
23 {
24 fstream outfilel ;
25 fstream outfile2;
26 outfilel.open("outl.txt",ios::out);
27 outfile2.open(”out2.txt”,ios::out);
28 int i=0;
29 for(i=0;i
30 {
31 outfilel<
;
32 }
33 do f
34 //********3********
35
36 }while(i!=len);
37 outfilel.C10Se();
38 outfile2.Close();
39 }
41 private:
41 int len;
42 char buf[1024];
43 };
44 void main()
45 {
46 //********4********
47 TestClass Fsp();
48 Fsp.split();
49 return;
50 }
选项
答案
(1)将“while()”完整为:while(infile.get(ch)) (2)添加语句:buf[len++]=ch; (3)添加语句:OUtfile2<
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类TestClass及其成员函数实现各种输出操作。
[解题思路]
(1)题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环判断语句中缺少从文件中获得的字符,所以这里补全while循环判断条件,即“while(infile.get(ch))”。
(2)题目2要求“把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。”所以为buf分配空间,即“buf[len++]=ch;”。
(3)题目3要求“将输入文件的后一半内容存储在第二个文件中。”在C++中,用流插入运算符为“<<”,所将buf中存放的数据存入文件outfile2,以根据题干中的要求,即这里补全“outfile2<
(4)题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数。即“TestClassFsp(”modi3.txt”);”0
转载请注明原文地址:https://www.kaotiyun.com/show/Q08p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若运行时给变量x输入12,则以下程序的运行结果是#include<iostream.h>voidmain(){intx,y;cin>>x;y=
如下程序的输出结果是#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}stati
在C++语言的面向对象程序设计框架中,______是程序的基本组成单元。
对于一个类定义,下列叙述中错误的是
下列程序的运行结果为 #include<iostream.h> classLocation{ protected: intX,Y; publiC: voidSeX(intmyx){X=myx;} voidS
在某类的公共部分有声明stringoperator++();和stringoperator++(int);则说明
下列程序的输出结果为【 】。#inelude<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}voidmain(){intn=3,m=12;max(m,n
设intx[]={2,4,6,8},y,*p=&x[1];则执行语句y=(*--p)++;后数组元素x[0]的值为______。
若有char*x[2]={"xyzw","XYZW"};则下面的表述正确的是______。
下列关于关系运算的叙述中正确的是
随机试题
近几年,女司机驾驶能力屡遭非议,甚至与新手司机一样被冠上“马路杀手”的称号,不过统计数据却表明,女司机肇事比例要远远低于男司机。因此,有人认为,女司机驾驶能力比男司机强。以下哪项如果为真,最能质疑上述结论?
函数y=ln(1+x2)的单调增加区间是().
关于Apgar评分的描述,正确的是
容量为2GB的存储空间,最多可以存放的信息为()。
对于设备更新,下列说法中正确的是______。
关于费用,下列说法中错误的是()。
信用风险转移(CreditRiskTransfer,CRT)是指金融机构,一般是指商业银行通过使用各种金融工具把信用风险转移到其他银行或其他金融机构。信用风险转移市场的参与机构主要是各种金融机构,主要的市场参与者包括商业银行、各种机构投资者和证券公司。
在一根长100厘米的木棍上,从左至右每隔6厘米染一个红点,同时从右至左每隔5厘米也染一个红点。然后沿红点处将木棍逐段锯开,那么长度是1厘米的短木棍有多少根?()
使用Outlook创建邮件帐户时,不能选择的邮件接收服务器类型是()。
Theearthiswitnessinganurbanrevolution,aspeopleworldwidecrowdintotownsandcities.In1800onlyfivepercentofthe
最新回复
(
0
)