《C++语言基础教程》课程电子教案(PPT教学课件)第9章 C++的I/O流类库

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 第9章C+的/0流类库
第9章 C++的I/O流类库

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 9.1C++的/0流类库的功能 基类的ⅣO流操作 2.文件流的操作 3.字符串流的操作 9.2屏幕输出(写操作) 1.使用预定义的插入符(<<) 参见例91,例9.2] 2.使用成员函数pu(写一个字符。参见例94 3.使用成员函数 write(写一个字符串。参见例95、[例
9. 1 C++的I/O流类库的功能 1. 基类的I/O流操作 2. 文件流的操作 3. 字符串流的操作 9. 2 屏幕输出(写操作) 1. 使用预定义的插入符(<<) 参见[例9. 1], [例9. 2]。 2. 使用成员函数put( )写一个字符。参见[例9. 4]。 3. 使用成员函数write( )写一个字符串。参见[例9. 5]、[例 9. 6]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 9.3键盘输入(读操作) 1.使用预定义的提取符(>>)。参见[例97]、[例98]。 2.使用成员函数get)读一个字符。参见[例99]。 3.使用成员函数 getline(读一行字符。参见[例910]。 4.使用成员函数read(读若干个字符。参见[例911]。 9.4插入符和提取符的重载 根据需用,用户可对插入符和提取符进行重载来支持新的数据 类型的输出和输入。 参见[例913]、[例914]
9. 3 键盘输入(读操作) 1. 使用预定义的提取符(>>)。参见[例9. 7]、[例9. 8]。 2. 使用成员函数get( )读一个字符。参见[例9. 9]。 3. 使用成员函数getline( )读一行字符。参见[例9. 10]。 4. 使用成员函数read( )读若干个字符。参见[例9. 11]。 9. 4 插入符和提取符的重载 根据需用,用户可对插入符和提取符进行重载来支持新的数据 类型的输出和输入。 参见[例9. 13]、[例9. 14]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 9.5格式化输出 1.使用标志字和成员函数进行格式化输出 (1)控制格式的标志位。(见教材第307页表91) 定义标志位的组合(静态变量): basefield delloct hex adjustfield leftrightinternal floatfield seientificfixed (2)设置标志字的成员函数 long flags long flags(long) long setf(long setbits, long field) long setf(long long unset(long)
9. 5 格式化输出 1. 使用标志字和成员函数进行格式化输出 (1) 控制格式的标志位。(见教材第307页表9. 1) 定义标志位的组合(静态变量): basefield del|oct|hex adjustfield left|right|internal floatfield seientific|fixed (2) 设置标志字的成员函数 long flags( ) long flags(long) long setf(long setbits,long field) long setf(long) long unsetf(long)

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (3)控制输出格式和成员函数 int width(int width(int) int fill(int fill(char) int precision int precision(int) 参见[例9.16]。 2.使用操作子进行格式输出 系统ⅣO流类库中所定义的操作子见教材第310页表92,它们 被放在 iomanip. h文件中。 参见[例917
(3) 控制输出格式和成员函数 int width( )int width(int) int fill( )int fill(char) int precision( )int precision(int) 参见[例9. 16]。 2. 使用操作子进行格式输出 系统I/O流类库中所定义的操作子见教材第310页表9. 2,它们 被放在iomanip.h文件中。 参见[例9. 17]

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 9.6磁盘文件操作 1.磁盘文件打开关闭操作 (1)打开文件的两种方法 方法一: fstream〈流对象名〉; 〈流对象名〉.open("〈文件名〉",〈方式〉); 或者 fstream〈流对象名〉,open("〈文件名〉",〈方式〉) 其中,〈方式〉见教材第312页表93
9. 6 磁盘文件操作 1. 磁盘文件打开关闭操作 (1) 打开文件的两种方法 方法一: fstream 〈流对象名〉; 〈流对象名〉.open(″〈文件名〉″ ,〈方式〉); 或者 fstream〈流对象名〉.open(″〈文件名〉″ ,〈方式〉) 其中,〈方式〉见教材第312页表9. 3

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 方法二: ①打开写文件 ofstream〈流对象名〉; 〈流对象名〉.0pen("”〈文件名)"); 或者 ofstream〈流对象名〉.open(”〈文件名〉"); ②打开读文件 ifstream〈流对象名〉; 流对象名〉.0pem("〈文件名〉"); 或者 ifstream〈流对象名〉,open("〈文件名〉"); (2)关闭文件方法 〈流对象名〉. close(;
方法二: ① 打开写文件 ofstream 〈流对象名〉; 〈流对象名〉.open(″〈文件名〉″); 或者 ofstream〈流对象名〉.open(″〈文件名〉″); ② 打开读文件 ifstream〈流对象名〉; 〈流对象名〉.open(″〈文件名〉″); 或者 ifstream 〈流对象名〉.open(″〈文件名〉″); (2) 关闭文件方法 〈流对象名〉.close( );

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 2.文本文件的操作 参见[例9.19]、[例920]、[例9.22]。 3.二进制文件的操作 参见[例9.23]。 4.随机文件操作 C++不仅可以顺序访问文件,还可以随机访问。为实现对文 件的随机访问,ⅣO流类库提供了定位读指针和定位写指针 的成员函数
2. 文本文件的操作 参见[例9. 19]、[例9. 20]、[例9. 22]。 3. 二进制文件的操作 参见[例9. 23]。 4. 随机文件操作 C++不仅可以顺序访问文件,还可以随机访问。为实现对文 件的随机访问,I/O流类库提供了定位读指针和定位写指针 的成员函数

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (1)定位读指针的成员函数 istream& istream:sekg(〈流中位置〉); istream& istream∴sekg(〈偏移量〉,〈参照位置〉) long istream .teng(; 其中,〈流中位置〉和〈偏移量〉都是long型量,用字节数 表示。〈参照位置〉有如下几种: cur=1相对于当前指针位置 beg=0相对于流的开始位置 end=2相对于流的结尾位置
(1) 定位读指针的成员函数 istream & istream ∷seekg(〈流中位置〉); istream & istream ∷seekg(〈偏移量〉,〈参照位置〉); long istream ∷tellg( ); 其中,〈流中位置〉和〈偏移量〉都是long型量,用字节数 表示。〈参照位置〉有如下几种: cur=1相对于当前指针位置 beg=0相对于流的开始位置 end=2相对于流的结尾位置

清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (2)定位写指针的成员函数 ostream& ostream:sekp(〈流中位置〉); ostream& ostream:sekp(〈偏移量〉,〈参照位置〉); long stream∴: tello; (参数说明同上) 参见[例924]、[例925]。 5.有关文件的其他操作 参见[例9.26]、[例927]
(2) 定位写指针的成员函数 ostream & ostream ∷seekp(〈流中位置〉); ostream & ostream ∷seekp(〈偏移量〉,〈参照位置〉); long ostream ∷tellp( ); (参数说明同上) 参见[例9. 24]、[例9. 25]。 5. 有关文件的其他操作 参见[例9. 26]、[例9. 27]
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言基础教程》课程电子教案(PPT教学课件)第8章 多态性和虚函数.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第7章 继承性和派生类.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第一章 绘图基础知识(刘军安).ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第五章 线型、颜色及图层.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第八章 标注文字.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十章 使用块、外部参照和设计中心.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第十一章 绘制基本三维对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第三章 编辑图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第七章 控制图形显示.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第六章 绘制面域与图案填充.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第九章 标注图形尺寸.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第二章 绘制二维图形对象.ppt
- 湖南工程学院:《中文版AutoCAD 2004基础教程》课程教学资源(PPT课件讲稿)第四章 使用绘图辅助工具.ppt
- 华为技术有限公司:胶片制作图标库.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第8章 多媒体.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第9章 数据库.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第2章 Visual Basic 6[1].0编程基础.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第5章 数组、自定义数据类型和过程.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第4章 基本算法和结构化程序设计.ppt
- 《Visual Basic 6.0》课程PPT教学课件(讲稿)第3章 窗体和常用控件.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第1章 C++语言概述.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第2章 数据类型和表达式.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第3章 语句.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第4章 函数和作用域.ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第5章 类和对象(一).ppt
- 《C++语言基础教程》课程电子教案(PPT教学课件)第6章 类和对象(二).ppt
- 《软件工程》课程学习资料:软件工程思想(林锐).pdf
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Introduction(主讲:曹天杰).ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-AES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-DES.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Block ciphers-L&D.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)CRYPTO12.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Digital Signature.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)HashFunctions.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Lecture 3 Number Theory Basics I.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)NTHEORY 2 Group Theory and Number.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Attacks, Services, and Mechanisms.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)overview.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography1.ppt
- 中国矿业大学:《密码学》课程教学资源(PPT讲稿)认证协议(Authentication Protocol)Public Key Cryptography2.ppt