第10章 C++的输入和输出流

合集下载

《C++程序设计》电子教案第10章 流类库与输入输出

《C++程序设计》电子教案第10章  流类库与输入输出

C++中所有流都是相同的 , 但文件可以不同 。 中所有流都是相同的, 但文件可以不同。 中所有流都是相同的 使用流以后, 使用流以后 , 程序用流统一对各种计算机设备 和文件进行操作,使程序与设备、 和文件进行操作 , 使程序与设备 、 程序与文件 无关,从而提高了程序设计的通用性和灵活性。 无关 , 从而提高了程序设计的通用性和灵活性 。 也就是说, 也就是说 , 无论与流相联系的实际物理设备差 别有多大,流都采用相同的方式运行。 别有多大 , 流都采用相同的方式运行 。 这种机 制使得流可以跨越物理设备平台, 制使得流可以跨越物理设备平台 , 实现流的透 明运作,而与实际的物理设备无关。例如, 明运作 , 而与实际的物理设备无关 。 例如 , 往 显示器上输出字符和向磁盘文件或打印机输出 字符,尽管接受输出的物理设备不同, 字符 , 尽管接受输出的物理设备不同 , 但具体 操作过程是相同的。 操作过程是相同的。
返回本节
10.2 格式化 格式化I/O
10.2.1 10.2.2 10.2.3 10.2.4 ios类中的枚举常量 类中的枚举常量 使用ios成员函数 使用 成员函数 使用I/O操作符 使用 操作符 检测流操作的错误
返回首页
10.2.1 ios类中的枚举常量 类中的枚举常量
在根基类ios中定义有三个用户需要使用的枚举类型, 在根基类 中定义有三个用户需要使用的枚举类型,由 中定义有三个用户需要使用的枚举类型 于它们是在公用成员部分定义的, 于它们是在公用成员部分定义的,所以其中的每个枚举类 型常量在加上ios::前缀后都可以为本类成员函数和所有外 型常量在加上 前缀后都可以为本类成员函数和所有外 部函数访问。 部函数访问。 在三个枚举类型中有一个无名枚举类型, 在三个枚举类型中有一个无名枚举类型,其中定义的每个 枚举常量都是用于设置控制输入输出格式的标志使用的。 枚举常量都是用于设置控制输入输出格式的标志使用的。 该枚举类型定义如下: 该枚举类型定义如下: enum { skipws,left,right,internal,dec,oct,hex,sh owbase,showpoint, uppercase,showpos,scientific,fixed,unitbuf, stdio };

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案

c程序设计教程与实验课后答案【篇一:c程序设计教程与实验第10章习题参考答案】题1.二进制文本2.rewind()3.字节流式4.”abc.dat” “rb”5.06.将文件位置指针从文本末尾处向文件头的方向移动10个字节7.将文件file1.txt的内容输出到屏幕8.将f1的字符保存到f2中9.rfetc(fp)num++10.fopen(“file.dat”,”wb”)dt,1,9,fp三、程序分析题1. 242.复制f1到f23.1.14.1177995. 65a 66b 67c 68d 69e 70f 71g 72h 75k 76l 77m 78n 79o 80p 81q 82r 85u 86v 87w 88x 89y 90z四、编程题1.#includestdio.h#includestdlib.hint main(){char file[10],file1[10],ch;file *in,*out;scanf(%s,file);scanf(%s,file1);if((in=fopen(file,r))==null){printf(cant open file\n);exit(0);}if((out=fopen(file1,w))==null) 73i 74j 83s 84t {printf(cant open file1\n);exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);putchar(ch);}fclose(in);fclose(out);return 0;}2.#include stdio.h#includestring.h#include errno.hint main(void){file *fp;char ch;if (null == (fp = fopen(g3, r))){printf(fopen g3 error: %s\n, strerror(errno)); return 0;}while ((ch = fgetc(fp))!=eof){printf(%c, ch); }fclose(fp);printf(\n);return 0;}3.#includestdio.hvoid main(){file *fp; /*定义一个文件指针*/int i;double a[10];if((fp=fopen(data.txt,wb+))==null){printf(file can not open,press any key to exit!\n); getch(); /*从键盘上任意输入一字符,结束程序*/exit(1);}for(i=0;i10;i++)scanf(%lf,a[i]);for(i=0;i10;i++)fwrite(a+i,sizeof(double),1,fp);printf(\n);rewind(fp);fread(a,sizeof(double),10,fp);for(i=0;i10;i++)printf(%f\n,a[i]);printf(\n);fclose(fp);}4.#includestdio.hvoid main(){file *fp;int a[80],i,j;int a,b,c;a=b=c=0;if(fp=fopen(g4.dat,r))==null)printf(读取失败\n);for(i=0;i80;i++){fscanf(fp,%d,a[i]);if(fp==eof)break;}for(j=0;j=i;j++){if(a[i]0) a++;if(a[i]0) b++;if(a[i]==0) c++;}printf(正=%d,负=%d,零=%d\n,a,b,c);5.#includestdio.hstruct student{char num[10];char name[8];int score[2];float ave;} stu[3];void main(){int i,j,sum;file *fp;for(i=0;i3;i++){printf(\ninput score of student %d:\n,i+1);printf(no.:);scanf(%s,stu[i].num);printf(name:);scanf(%s,stu[i].name);sum=0;for(j=0;j2;j++){printf(score %d:,j+1);scanf(%d,stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/2.0;}fp=fopen(stud,w);for(i=0;i3;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) printf(file write error\n);fclose(fp);fp=fopen(stud,r);for(i=0;i3;i++){fread(stu[i],sizeof(struct student),1,fp);printf(\n%s,%s,%d,%d,%d,%6.2f\n,stu[i].num,stu[i].name,stu[i]. score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);}}【篇二:c语言程序设计实训教程习题和实验解答】ss=txt>2.1 c语言概述【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

第10章 直流电源习题解答

第10章 直流电源习题解答

第10章直流电源10.1教学基本要求10.1.1 基本要求(1)掌握单相桥式整流电路的工作原理和主要参数计算,了解单相半波整流电路的工作原理、主要参数计算及二极管的选择(2)掌握电容滤波电路的工作原理和主要参数计算,滤波电容的选择原则,了解电感滤波电路及其它形式的滤波电路的特点及各种滤波器的性能比较(3)理解硅稳压管稳压电路的工作原理,稳压系数和输出电阻的估算,稳压电路中限流电阻R的选择(4)掌握串联型直流稳压电路的组成、工作原理及参数计算,掌握三端固定式输出集成稳压器及其应用,了解三端可调输出集成稳压器及其应用(5)了解开关稳压电路的工作原理及集成开关稳压器及其应用10.1.2 重点难点及考点(1)本章重点单相桥式整流电路的工作原理和主要参数计算,电容滤波电路的工作原理和主要参数计算,串联型直流稳压电路的组成、工作原理及参数计算,三端固定式输出集成稳压器及其应用。

(2)本章难点电容滤波电路的工作原理和主要参数计算,串联型直流稳压电路的组成、工作原理及参数计算。

(3)本章主要考点单相桥式整流电路的工作原理,输出直流电压与输入交流电压有效值间的关系,二极管的选择。

电容滤波电路的主要参数计算,滤波电容的选择。

串联型直558559流稳压电路的组成、工作原理及参数计算。

三端固定式输出集成稳压器及其应用。

1.2典型题型精解10.2 单相桥式整流电路如图10.2.1所示,若输出直流电压U O =9V ,输出直流电流I O =1A ,试求:(1) 变压器二次电压有效值U 2; (2) 整流二极管最大反向峰值电压U RM ; (3) 流过二极管正向平均电流I D 。

图10.2.1 题10.2图分析方法:单相桥式整流电路的输出电压的平均值(输出直流电压)2O 9.0U U =,二极管最大反向峰值电压2RM 2U U =,二极管正向平均电流L2O D 45.02R U I I ==,这里的U 2是变压器二次电压有效值。

标准输入和标准输出

标准输入和标准输出

标准输入和标准输出在计算机编程中,标准输入和标准输出是非常重要的概念。

它们是程序与外部环境进行数据交换的接口,对于程序的输入和输出起着至关重要的作用。

本文将围绕标准输入和标准输出展开讨论,介绍它们的概念、用途以及在不同编程语言中的应用。

首先,我们来了解一下标准输入和标准输出的概念。

标准输入通常指的是从键盘或其他输入设备获取数据的过程,而标准输出则是将程序的输出结果显示在屏幕上或者输出到文件中。

在Unix和类Unix系统中,标准输入通常用stdin表示,标准输出用stdout表示。

在Windows系统中,它们分别对应于标准输入流和标准输出流。

标准输入和标准输出在编程中有着广泛的应用。

在很多编程语言中,都提供了对标准输入和标准输出的支持。

比如,在C语言中,我们可以使用scanf函数从标准输入中读取数据,使用printf函数将数据输出到标准输出。

在Python中,可以使用input函数获取用户输入,使用print函数输出结果。

无论是哪种编程语言,标准输入和标准输出都是编写程序时必不可少的部分。

除了在命令行程序中使用标准输入和标准输出,它们在图形界面程序中同样扮演着重要的角色。

比如,在一个图形界面的程序中,用户可能需要通过文本框输入数据,这些数据就是通过标准输入获取的。

而程序运行的结果通常会显示在界面的某个区域,这就是通过标准输出实现的。

在实际的编程过程中,标准输入和标准输出还可以与文件进行交互。

程序可以从文件中读取数据,也可以将结果输出到文件中。

这种方式在处理大量数据时非常实用,可以方便地进行批量处理。

在网络编程中,标准输入和标准输出同样扮演着重要的角色。

通过网络传输数据时,标准输入和标准输出可以方便地与网络套接字进行交互,实现数据的输入和输出。

总的来说,标准输入和标准输出是编程中不可或缺的部分,它们负责程序与外部环境进行数据交换,是程序输入和输出的重要接口。

无论是在命令行程序、图形界面程序还是网络程序中,标准输入和标准输出都扮演着至关重要的角色。

c语言输入和输出

c语言输入和输出
的方式提供,并存放在一个C标准函数库中。
每一个标准库都有一个相应的头文件,该头文件包含了该库中所 有函数的函数原型及其相关信息。在调用这些库函数时,要用预处理 命令“#include”将有关的“头文件”包括到用户源程序中。标准输入输出库 函数对应的头文件是“stdio.h”。stdio是standard input & output的
3.1 概述
通过终端输入(如键盘、鼠标等),也称为标准输入(standard input),直接向终端输出(如显示器、打印机等),也称为标准输出 (standard output)。
C语言本身没有提供输入输出语句,C语言中的所有I/O操作都是通过函 数调用来实现,而这些并非C语言一部分的输入输出函数均以目标级程序
int main()
{Байду номын сангаас
int *ptr;
/* 定义一个指针 */
scanf(“%[^\n]”, ptr);
printf(“ptr=%s\n”,ptr);
}
设输入为:
How are you!↙
程序输出为:
How are you!
C语言程序设计---第3章
17
第17页,共21页。
3.4.4 scanf()函数应用中两个最常见的问题
printf(“%s\n”,ptr);
}
设输入为:
How are you,John!↙ 程序输出为:
How are you
注:这是由于逗号作为不可接受字符,而作为
字符串的定界符. C语言程序设计---第3章
16
第16页,共21页。
/* 本程序可接收任意字符串的输入 */
#include<stdio.h>

第10章 C++语言的输入与输出-面向对象程序设计(C++语言)(第二版)-程磊-清华大学出版社

第10章 C++语言的输入与输出-面向对象程序设计(C++语言)(第二版)-程磊-清华大学出版社

设置状态标志flags 清楚状态标志,并返回前状态标志 测试状态标志 设置标志flags, 并返回前状态标志 返回当前的宽度设置值 设置域宽w,返回以前的设置 设置小数位数p,返回以前的小数位数 返回当前的填充字符 设置填充字符ch,返回当前的填充字符
13
下面分别介绍这些成员函数的使用方法;
(1)设置状态标志:
cout<<”x_width=”<<cout.width( )<<endl; cout<<”x_fill=”<<cout.fill ( )<<endl; cout<<”x_precision=”<<cout.precision( )<<endl; cout<<123<<” ”<<123.45678<<endl; cout<<”______________________________\n”; cout<<”*** x_width=10,x_fill=, x_precision=4 ***\n”; cout.width(10); cout.precision(4); cout<<123<<” ”<<123.45678<<” ”<<234.567<<endl;
1. C++的流概述 ❖ 在C++中,输入输出流被定义为类,称为流类。 ❖ I/O 系 统 仍 然 是 以 字 节 流 的 形 式 实 现 的 , 流
(Stream)实际上就是一个字节序列,流总是 与某一设备相联系的,它既可以从输入设备 (如键盘、磁盘等)流向计算机内存,亦可以 从计算机内存流向输出设备(如显示器、打印 机、磁盘等)。 ❖ 输入输出的字节可以是ASCII字符、内部格式 的原始数据、图形图像、数字音频、视频等。

C++格式化输出及输入流

C++格式化输出及输入流

C++格式化输出及输⼊流输⼊:读⼊:a+b,a-b,a/b等,cin>>a>>charOperation>>b>>endl;enum {skipws = 0x0001, //跳过当天及后⾯所有连续的空⽩符。

left = 0x0002,right = 0x0004,internal = 0x0008,//在指定的域宽内数值的符号按左对齐、数值本⾝按右对齐输出。

dec = 0x0010, //10oct = 0x0020, //8hex = 0x0040, //16showbase= 0x0080, //8进制:0、16进制:0x ,10⽆。

showpoint= 0x0100,uppercase= 0x0200,showpos= 0x0400,scientific= 0x0800,fixed = 0x1000,unitbuf = 0x2000,stdio = 0x4000};//x3_1.cpp,指定格式的输⼊输出流的各种控制符的使⽤#include <iostream>#include <iomanip>using namespace std;void main(){int x=1000;double y=1.23456789;cout<<"默认x值:"<<x<<endl;cout<<"⼗进制:"<<dec<<x<<endl; //dec oct hex 会⼀直作⽤。

cout<<"⼋进制:"<<oct<<x<<endl;cout<<"⼗六进制:"<<hex<<x<<endl;cout<<"⼗六进制(⼤写字母):"<<hex<<uppercase<<x<<endl<<endl;cout<<"默认y值(左对齐且有效数字位数为6):"<<y<<endl;cout<<"宽度为10并右对齐:"<<setw(10)<<right<<y<<endl;cout<<"宽度为8:"<<setw(8)<<y<<endl;cout<<"宽度为4:"<<setw(4)<<y<<endl;cout<<"⽤*号填充空位(10位宽度):"<<setfill('*')<<setw(10)<<y<<endl; //setw(int i) 只对紧随的数据显⽰有影响。

C语言程序设计第10章文件及其应用

C语言程序设计第10章文件及其应用

学一学
1.定义文件指针 一般形式为: FILE * fp; 其中fp就是所定义文件指针。 FILE类型 以及所有的文件读写函数和相关常量都定 义在文件stdio.h中,在源程序的开头要 包含头文件 stdio.h 。
学一学
2.打开文件 C语言中,使用fopen函数来打开文件。打开文件是使 一个文件指针变量指向被打开文件的结构变量,以便通 过该指针变量访问打开的文件。fopen函数的调用形式 如下: fopen(chFileName,mode); 以mode 方式打开文件chFileName。其中,参数 chFileName 是将要读写文件的文件名,mode为文件 的操作方式。若文件打开成功,返回一个文件指针,若 打开失败,则返回空值NULL,NULL在stdio.h中被定 义为0。文件操作方式mode是一个整数,其取值及含 义如表10-1所示。

流程图
开始 定义文件指针fp,定义整型数组 iArray[5],定义循环变量i 以写二进制文件方式打开文件 fp=fopen("test.dat","wb") N i=0
fp==NULL Y
i<5 Y 输入1个整数存入 数组元素iArray[i]
N
i++
把数组iArray中5 个整数写入文件
显示出错信息 关闭文件 exit(0)
试一试
问题10.1编一程序从键盘输入一串字符“may friendship forever! ”,然后保存在文件myInfo.txt中。 【解题步骤】 1.定义文件指针fp; 2.定义字符数组chInfo用来存输入的字符串; 3.以写文本文件方式打开文件myInfo.txt; 4.如果打开文件失败,则输出错误信息并结束程序; 5.否则,打开文件成功,则从键盘输入数据; 5.将字符数组chInfo中的字符写入文件myInfo.txt; 6.关闭文件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.1.5 输入输出符的重载
输入输出运算符的重载一般采用友元函数形式,格式如下:
friend istream& operator >> (istream& in, const ClassType &object); friend ostream& operator << (ostream& out, const ClassType &object);
2. 文件的关闭
为了保证写入数据的安全,在退出程序之前必须 关闭已经打开了的文件,断开文件和程序的连接, 释放相关的内存。关闭文件的格式如下: <文件类对象名>.close();
2. 文件的关闭
为了保证写入数据的安全,在退出程序之前必须 关闭已经打开了的文件,断开文件和程序的连接, 释放相关的内存。关闭文件的格式如下: <文件类对象名>.close();
10.1.2 输出操作
1. 输出操作符<<
对于输出运算符“<<”,我们一定不会感到陌生,其应用格 式如下: <操作数1> << <操作数2> 其中,输出运算符“<<”表示数据从操作数2流向操作数1。 操作数1是输出类ostream的类对象,通常是cout,表示标准 的屏幕输出。 操作数2是存储输出流的变量或对象,它可以是内嵌类型 (int型、double型、char型、bool型等)的变量或表达式、指 针类型的变量,或自定义类对象。
2. 成员函数get()
输入类istream的成员函数get()可以读入一个字符或者一个字符串, 它不会忽略空格、制表符、换行符和回车,而是将它们也当作字符 一并读入。它有三种原型: int get(); // ① // ② istream& get(char& ch);
istream& get(char *str, int length, char delimiter = '\n'); // ③ 原型③是在参数的控制下读入若干个字符,结束读入操作的条件有 三种: (1)参数length,表示读入字符的数量不得多于length-1个; (2)参数delimiter,缺省值是换行符“\n”,用于指定一个特定的 字符,当遇到该字符时就停止读入操作。 (3)当遇到文件结束符EOF时。
10.1 循序渐进学理论
10.1.1 C++流的概念 流的概念
I/O流类库是一个利用多继承和虚拟继承实现的类层 次结构,如图10-1所示。它的主要作用是提供标准的、 基于文件的和基于字符串流的输入输出操作。程序员也 可以重载输入输出符,完成自定义类对象的输入输出操 作。
图10-1 C++的I/O流类库结构
第10章 C++的输入和输出流 章 的输入和输出流
本章要点:
C++流的基本概念 输出运算符<<、put()和write()的输出操作 输入运算符>>、get()、getline()和 read()的输入操作 格式化操纵符的应用 输入输出运算符的重载 文件的输入输出操作 字符串流的输入输出操作 流状态的错误处理
10.1.3 输入操作
1. 输入操作符>>
输入运算符“>>”的应用格式是: <操作数1> >> <操作数2> 其中,输入运算符“>>”表示数据从操作数1流向操作数2。 操作数1是输入类istream的类对象,常用的是标准的键盘输 入对象cin。 操作数2是存储输入数据的内嵌类型的变量或自定义的类对 象。如果操作数2是自定义的类对象,必须定义输入运算符的重 载函数。 注意:在缺省情况下,输入运算符“>>”会忽略空格、制表 符、换行符和回车
4. 成员函数read()
输入类istream的成员函数read()的功能是从输入流中读取 指定数量的字符,其函数原型如下: istream& read(char * str, int length); 其中,参数str用于存放读入的字符,length为指定读入的 字符的数量。
10.1-1中,ios是虚基类,负责数据流的设置功能,类 istream负责输入流的操作,类ostream负责输出流的操作, 类iostream负责双向数据流的输入输出操作。 输入流是指从输入设备(键盘、文件等)流向计算机内存 的数据流,输出流是指从计算机内存流向输出设备(显示 器、文件等)的数据流。 在C++语言中,最常用的输入输出运算符是“>>”和“<<”, 为了使用基本I/O流类库提供的操作,必须在程序中包含头 文件iostream: #include <iostream>
C++提供的打开方式如表10-2所示:
方 式 in out app ate trunk 以读方式打开文件 以写方式打开文件 以追加写入方式打开文件 文件打开后,文件指针位于文件尾 若文件存在,令其长度为0,清除原有的内容;若文件不存在,则创建新文件 含 义
binary nocreate noreplace
3. 成员函数write()
输出类ostream的成员函数write()用于输出一个指定长度的 字符串,其格式是: ostream& <类对象>.write (const char *str, int length); 其中,参数str用于存储需要输出的字符串,length用于指定 字符串中希望被输出的字符的个数,当length等于strlen(str) 时,输出整个字符串。 和函数put()一样,在函数write()中最常用的的ostream类对 象是cout。该函数的返回类型也是ostream类对象的引用, 所以也可以被串联使用。
3. 字符串I/O流类库
在 图 10-1 中 , 类 istringstream 、 类 ostringstream 和 类 stringstream分别继承于基本I/O流类库的类iostream、类 ostream 和 类 iostream , 它 们 还 有 一 个 公 共 基 类 strstreambase,在图10-1中没有列出。 其中,类istringstream提供从字符串中读取数据的操作, 类 ostringstream 提 供 将 数 据 写 入 字 符 串 的 操 作 , 类 stringstream同时提供字符串的读取和写入操作。 为了使用字符串I/O流类库提供的操作,必须在程序中包 含头文件sstream: #include <sstream>
定位文件写指针的重载函数是:
ostream & ostream:: seekp(int position ); ostream & ostream:: seekp(int offset_position, ios_base::seekdir way);
10.1.5 字符串流的输入输出操作
1. 字符串流的输入操作
3. 成员函数getline()
输入类istream的成员函数getline()的原型如下: istream& getline(char *str, int length, char delimiter = '\n'); 它和函数get()的功能基本相同,用于读取一串字符,直 到读入字符的个数大于length-1,或者遇到文件的结束符 EOF,或者遇到delimiter。 但是,函数getline()要比函数get()好用得多,因为它能够 自动丢弃delimiter,而不会将它留在istream中作为下一个 输入的字符。
2. 成员函数put()
输出类ostream的成员函数put()用于输出一个字符,其格式 是: ostream& <类对象>.put (char ch); 其中,参数ch用于存储需要输出的字符,最常用的ostream 类对象是cout。例如: cout.put('X'); // 显示输出字母X 由于该函数的返回类型为ostream类对象的引用,所以它可 以被串联使用,例如: cout.put('G').put('o') .put('o') .put('d'); // 显示输出Good
2. 文件I/O流类库
在图10-1中,类ifstream、类ofstream和类fstream分别继承 于基本I/O流类库中的类iostream、类ostream和类iostream, 它们还有一个公共基类fstreambase,在图10-1中没有列出。 其中,类ifstream提供文件的输入操作,即读取文件的内容 到内存,类ofstream提供文件的输出操作──即将内存中的 数据写入文件,类fstream同时提供文件的输入和输出操作, 详见10.1.6节。 为了使用文件I/O流类库提供的操作,必须在程序中包含头 文件fstream: #include <fstream>
在使用字符串流的输入操作时,必须定义一个ostringstream 类对象,例如: ostringstream buffer; // 定义一个ostringstream对象buffer ostringstream类对象有两个重要的特点:一是它的长度能够 随着输入的字符而自动增长;二是它能够复合各种类型的 数据,并将它们自动转换成字符串。 为了实现基于字符串的操作,ostringstream类提供了一些成 员函数,常用的有: string ostringstream:: str(); // 返回ostringstream类对象中输入 的字符串
3. 文件的顺序读写
文件的顺序读写是指从文件头一直读写到文件尾,通常采 用get()、getline()、put()、read()或write()等函数完成对文件 的读写操作。以get()函数为例: while (file1.get (ch)) // 读取文件中的内容并显示在屏幕上 cout.put (ch); 需要注意的是,在读取文件内容时,如果遇到文件结束符 EOF,读操作会被自动停止,与此同时,文件类对象也转 至“遇到文件结束符”的状态,不能再执行其他任何的输 入输出操作。如果需要继续读写该文件,必须调用函数 clear()清除文件类对象的状态,
相关文档
最新文档