第九章问题文件
更新时间:2023-12-09 07:09:01 阅读量: 教育文库 文档下载
文件
9.3 练习题
1.在C++的输入输出操作中,“流”的概念如何理解?从流的角度说明什么是提取 操作?什么是插入操作?
2.系统预定义的流类对象中,cin和cout的功能是什么?
3.屏幕输出一个字符串有哪些方法?屏幕输出一个字符有哪些方法? 4.键盘输入一个字符串有哪些方法?键盘输入一个字符有哪些方法? 5.如何输出一个int型数值量的不同进位制? 6.如何输出一个浮点数的不同精度? 7.如何确定输出数据项的宽度? 8.采用什么方法打开和关闭磁盘文件? 9.写磁盘文件时有哪几种方法?
10.读磁盘文件时有哪几种方法?
11.如何确定文件的读指针或写指针的位置?如何改变读指针或写指针的位置? l 2.流的错误状态如何处理? 9.4 作业题
一、选择填空
1.进行文件操作时需要包含( )文件。
A:iostream.h B.fstream.h C. stdio.h D.stdlib.h
2.使用操作子对数据进行格式输出时,应包含( )文件。
A. iostream.h B. fstream.h C。 iomanip.h D. stdlib.h
答:C。
3.已知:int a,*pa=&a;输出指针pa十进制的地址值的方法是( )。 A. cout<<pa B. cout<<*pa C.cout<<&pa D.cout<<long(&pa)
4.下列输出字符’A’的方法中,( )是错误的。 A.cout<<put(‘A’) B.cout<<’A’ C. cout.put(‘A’) D. char A=’A’;cout<<A 5.关于getline()函数的下列描述中,( )是错的。 A.该函数是用来从键盘上读取字符串的 B.该函数读取的字符串长度是受限制的 C.该函数读取字符串时遇到终止符便停止
D.该函数中所使用的终止符只能是换行符
6.关于read()函数的下列描述中,( )是对的。 A.该函数只能从键盘输人中获取字符串 B.该函数所获取的字符多少是不受限制的 C.该函数只能用于文本文件的操作中
D.该函数只能按规定读取所指定的字符数
7.在ios中提供控制格式的标志位中,( )是转换为十六进制形式的标志位。 A. hex B. oct C. dcc D。1eft
8.控制格式输出输入的操作子中,( )是设置域宽的。
A.ws B.oct C.setfill() D,setw()
9.磁盘文件操作中,打开磁盘文件的访问方式常量中,( )是以追加方式打开文 件的。
A. in B. out C. app D. ate
10.下列函数中,( )是对文件进行写操作的。 A.get() B.read() C.seekg() D.put() 二、判断下列描述的正确性,对者划√,错者划×
1.使用提取符(<<=可以输出各种基本数据类型的变量的值,也可以输出指针值。 2.预定义的插入符从键盘上接收数据是不带缓冲区的。 3.预定义的提取符和插入符是可以重载的。
4.记录流的当前格式化状态的标志字中每一位用于记录一种格式,这种格式是 不能被设置或清除的。
5.设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式 的对象通常是cout。
6.操作子本身是一个对象,它可以直接被提取符或插入符操作。
7·get()函数不能从流中提取终止字符,终止字符仍留在流中。getline()函数可 以从流中提取终止字符,但终止字被丢弃。
8.ios类的成员函数clear()是用来清除整个屏幕的。
9.使用打开文件函数open()之前,需要定义一个流类对象,使用open()函数来 操作该对象。
10.使用关闭文件函数close()关闭一个文件时,但流对象仍存在。 11.以app方式打开文件时,当前的读指针和写指针都定位于文件尾。 12.打开ASCII码流文件和二进制流文件时,打开方式是相同的。 13.read()和write()函数可以读写文本文件,也可以读写二进制文件。 14.流的状态包含流的内容、长度和下一次提取或插入操作的当前位置。 15·.seekg()函数和seekp()函数分别用来定位读指针和写指针的。如果使用 seek()函数可以同时定义读写指针。 三、分析下列程序的输出结果 1
#include<iostream.h> #include<fstream.h> #include<stdlib.h> void main( )
{
fstream outfile,infile;
outfile.open(“text.dat”,ios::out);
if(!outfile)
{
cout<<”text.dat can’t open.\\n”; abort();
}
outfile<<”123456789\\n”; outfile<<”aaabbbbbbbbccc\\n”
<<”dddddfffeeeeggggghhh\\n”;
outfile<<”ok\\n”; outfile.close();
infile.open(”tcxt.dat”,ios::in);
if(!infile)
{
couI<<”file can’t open.\\n”; abort(); }
char textline[80];
While(!infile.eof())
{
infile.gctline(textline,sizeof(textline)); cout<<textline<<endl;
分析:
该程序中先打开文件text.dat,打开方式是写,判断打开成功后,向该文件中输入 行字符串。然后,将该文件关闭。
接着,以读方式打开text.dat文件,判断成功后,将通过while循环语句。逐行读: text.dat文件中的内容,并输出显示在屏幕上。
这里,使用了打开、关闭文件的操作以及对打开文件的读、写操作。 2.
#include<iostream.h> #include<fstream.h>
#include
void main() {
fstream file1;
file1.open(“text1.dat”,ios::out|ios::in); if(!file1) {
cout<<”text1.dat can’t open.\\n”; abort(); }
char textline[]=”123456789abcdefghijkl.\\n”; for(int i=0 ; i while(file1.get(ch)) cout<<ch; filel.close( ); 分析: 该程序的特点是打开文件textl.dat时,采用了又写又读的打开方式。打开成功后, 先使用写字符函数put(),将字符数组textline[]中的字符串写入该文件。 然后,使用下列语句 filel.seekg(0); 将读指针移至文件开始,接着使用读字符函数get()从文件中读出字符,并显示在屏 幕上。 该程序中,对文件textl.dat的读写只打开一次。 #include<strstrea.h> void main() { ostrstream ss: ss<<”Hi,good morning”; ss<<ends: char * buf=ss.str( ); cout<<buf<<endI; de1ete[] buf; } 分析: 程序中首先创建一个ostrstream类的对象ss,ss是一个用来存放插人数据的数组对 象。接着,向s s中存人字符串”Hi,g ood morning!”。又增加一个字符串结束符‘\o’,可用end2表示。 程序中又定义—个字符指针.使用ss数组对象的指针值进行初始化,这一功能用成 员函数sltr()来实现的。最后。输出显示一个字符串(buf中的字符串)在屏幕上。 4 #include<iostream.h> #include<strstrea.h> char a[]=”1000”; void main() { int dval,oval,hval; istrstream iss(a,sizeof(a)); iss>>dec< iss>>hex>>hval; cout<<”decVal:”< 分析: 程序中定义一个istrstream类的对象iss,先执行下列语句: iss>>dec>>dval; 将字符数组a[]中的字符串,按十进制方式提取后放人变量dVal中,即为十进制数1000 然后,使用seekg()函数将读指针移至字符流开始处,再执行下列语句: iss>>oct>>oval; 将字符数组a[]中字符串,从头开始按八进制提取放入变量oval中,即为olooo, 进制为512。接着,同理又将字符数组a[]中字符串,从头按十六进制提取放入变量hval 中,即为ox1000,化为十进制为4096。 最后,输出显示dval,oval和hval值,如上所示。
正在阅读:
第九章问题文件12-09
船代基本知识09-13
私教工作职责(新)09-11
现代文学复习题(大二一年皆可用)05-14
ARCGIS空间分析操作步骤详解11-19
2007年5月高级营销员试题05-26
学习《开发建设项目水土保持方案技术审查要点》的若干体会01-18
船舶建造流程8-试验及交船 - 图文05-08
小学生乐天的作文06-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 文件
- 问题
- InRow RC精密空调用户操作指南
- 中国音乐史重点
- 旧小区道路、绿化、设施及安装改造工程施工组织设计
- 14640152982016年初级健身教练理论复习大全
- 幼师演讲
- 各种结构的词语
- 第六章 生物氧化
- 解剖学-运动系统-测试题
- 课题研究:中国民族服饰与地理环境之间的关系
- 自动化与智能科学专业工程设计题目2012
- 生物接触氧化池设计、剩余污泥量计算
- 网页制作复习题(含答案)
- 金蝶KIS旗舰版V4.0迁移指南 - 图文
- 1500V直流开关柜实操手册041226
- 化学反应装置的控制plc设计
- 关于开展成都市青白江区图书馆法人治理结构建设试点工作的实施方案
- 30、欧盟垃圾焚烧污染物排放标准(中文版)
- 强度、硬度换算表 - 图文
- 实施课题研究,彰显学校特色
- 2014.6材料力学复习题部分答案