C+程序设计第10章 输入输出.ppt
《C+程序设计第10章 输入输出.ppt》由会员分享,可在线阅读,更多相关《C+程序设计第10章 输入输出.ppt(35页珍藏版)》请在三一办公上搜索。
1、第十章 输入/输出,本章内容,输入/输出(I/O)概述控制台I/O文件I/O字符串I/O,输入/输出(I/O)概述,输入/输出(简称I/O)是程序的一个重要组成部分:程序运行所需要的数据往往要从外设(如:键盘、文件等)得到程序的运行结果通常也要输出到外设(如:显示器、打印机、文件等)中去。在C+中,输入/输出不是语言定义的成分,而是由具体的实现(编译程序)作为标准库的功能来提供。,C+的I/O流,在C+中,输入/输出操作是一种基于字节流的操作:在进行输入操作时,可把输入的数据看成逐个字节地从外设流入到计算机内部(内存);在进行输出操作时,则把输出的数据看成逐个字节地从内存流出到外设。在C+的标
2、准库中,除了提供基于字节的输入/输出操作外,为了方便使用,还提供了基于C+基本数据类型数据的输入/输出操作。在C+程序中也可以对类库中输入/输出类的一些操作进行重载,使其能对自定义类的对象进行输入/输出操作。,I/O的分类,基于控制台的I/O:从标准输入设备(如:键盘)获得数据把程序结果从标准输出设备(如:显示器)输出基于文件的I/O:从外存文件获得数据把程序结果保存到外存文件中基于字符串变量的I/O:从程序中的字符串变量中获得数据把程序结果保存到字符串变量中,C+输入输出的实现途径,过程式通过从C语言保留下来的函数库中的输入/输出函数来实现。面向对象通过C+的I/O类库中的I/O类来实现。,
3、面向对象的输入/输出,C+的I/O类库提供了以面向对象方式进行输入/输出。以下是I/O类库中基本的I/O类:,在进行输入/输出时,首先创建一个I/O类的对象,然后,通过该对象(调用对象类的成员函数)进行输入/输出操作。istream类重载了操作符“”(抽取),用它可以进行基本类型数据的输入操作。例如:istream in(.);in x;/x是一个变量in y;/y是一个变量或in x y;ostream类重载了操作符“”(插入),用它可以进行基本数据类型数据的输出操作。例如:ostream out(.);out e1;/e1是一个表达式out e2;/e2是一个表达式或out e1 e2;,
4、控制台I/O,在I/O类库中预定义了四个I/O对象:cin、cout、cerr以及clog,可以直接利用这些对象进行控制台的输入/输出操作:cin属于istream类的对象,它对应着计算机系统的标准输入设备;cout属于ostream类的对象,它对应着计算机系统的用于输出程序正常运行结果的标准输出设备;cerr和clog属于ostream类的对象,它们对应着计算机系统的用于输出程序错误信息的设备,通常情况下它们都对应着显示器;在进行控制台输入/输出时,程序中需要有下面的包含命令:#include,控制台输出,#include using namespace std;.int x;float f
5、;char ch;int*p=,输出格式控制,为了对输出格式进行进一步的控制,可以通过输出一些操纵符(manipulator)来实现,例如:#include#include/操纵符声明的头文件。using namespace std;.int x=10;cout hex x endl;/以十六进制输出x的值,然后换行。,常用输出操纵符,对于浮点数(float、double和long double):当输出格式为ios:scientific或ios:fixed时,操纵符setprecision用于设置浮点数(float和double)小数点后面的位数;当输出格式既不为ios:scientific
6、也不为ios:fixed,或两者都有时,操纵符setprecision用于设置浮点数有效数字的个数,这时的输出格式根据有效数字自动确定。,除了通过插入操作符进行输出外,也可以用ostream类提供的一些基于字节流的操作来进行输出,例如:/输出一个字符。ostream,控制台输入,#include using namespace std;.int x;double y;char str10;cin x;cin y;cin str;或者cin x y str;在输入时,各个数据之间用空白符分开。,可以通过一些操纵符来控制输入的行为,例如:cin setw(10)str;/把输入的前9个字符和一个0
7、放入str中。除了抽取操作符“”外,还可以使用istream类的基于字节流的成员函数来进行输入,例如:/输入一个字符。istream:get(char,输入/输出操作符“”和“”的重载,为了能用抽取操作符“”和插入操作符“”。对自定义的类重载插入操作符“”时,须作为全局函数来重载。,插入操作符“”的重载,class Aint x,y;public:.friend ostream,派生类输出操作符“”的重载,class Aint x,y;public:.virtual void display(ostream,文件I/O,程序运行结果有时需要永久性地保存起来,以供其它程序或本程序下一次运行时使用
8、。程序运行所需要的数据也常常要从其它程序或本程序上一次运行所保存的数据中获得。用于永久性保存数据的设备称为外部存储器(简称:外存),如:磁盘、磁带、光盘等。在外存中保存数据的方式通常有两种:文件和数据库。本课程只介绍以文件方式来永久性地保存数据。,文件的基本概念,在C+中,把文件看成是由一系列字节所构成的字节串,称为流式文件,对文件中数据的操作(输入/输出)通常是逐个字节顺序进行。在对文件数据进行读写的过程:打开文件。目的是:在程序内部的一个表示文件的变量/对象与外部的一个具体文件之间建立联系。文件读/写关闭文件。目的是把暂存在内存缓冲区中的内容写入到文件中,并归还打开文件时申请的内存资源。,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计第10章 输入输出 程序设计 10

链接地址:https://www.31ppt.com/p-6154085.html