C++程序设计第10章 输入输出.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计第10章输入输出

本章内容 输入/输出(I/O)概述 控制台I/O 文件I/O 字符串I/O 输入/输出(I/O)概述 输入/输出(简称I/O)是程序的一个重要组成部分: 程序运行所需要的数据往往要从外设(如:键盘、文件等)得到 程序的运行结果通常也要输出到外设(如:显示器、打印机、文件等)中去。 在C++中,输入/输出不是语言定义的成分,而是由具体的实现(编译程序)作为标准库的功能来提供。 C++的I/O流 在C++中,输入/输出操作是一种基于字节流的操作: 在进行输入操作时,可把输入的数据看成逐个字节地从外设流入到计算机内部(内存); 在进行输出操作时,则把输出的数据看成逐个字节地从内存流出到外设。 在C++的标准库中,除了提供基于字节的输入/输出操作外,为了方便使用,还提供了基于C++基本数据类型数据的输入/输出操作。 在C++程序中也可以对类库中输入/输出类的一些操作进行重载,使其能对自定义类的对象进行输入/输出操作。 I/O的分类 基于控制台的I/O: 从标准输入设备(如:键盘)获得数据 把程序结果从标准输出设备(如:显示器)输出 基于文件的I/O: 从外存文件获得数据 把程序结果保存到外存文件中 基于字符串变量的I/O: 从程序中的字符串变量中获得数据 把程序结果保存到字符串变量中 C++输入输出的实现途径 过程式——通过从C语言保留下来的函数库中的输入/输出函数来实现。 面向对象——通过C++的I/O类库中的I/O类来实现。 面向对象的输入/输出 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; 控制台I/O 在I/O类库中预定义了四个I/O对象:cin、cout、cerr以及clog,可以直接利用这些对象进行控制台的输入/输出操作: cin属于istream类的对象,它对应着计算机系统的标准输入设备; cout属于ostream类的对象,它对应着计算机系统的用于输出程序正常运行结果的标准输出设备; cerr和clog属于ostream类的对象,它们对应着计算机系统的用于输出程序错误信息的设备,通常情况下它们都对应着显示器; 在进行控制台输入/输出时,程序中需要有下面的包含命令: #include iostream 控制台输出 #include iostream using namespace std; ...... int x; float f; char ch; int *p=x; ...... cout x ; //输出x的值。 cout f; //输出f的值。 cout ch; //输出ch的值。 cout hello; //输出字符串hello。 cout p; //输出变量p的值,即,变量x的地址。 或 cout x f ch hello p; 输出格式控制 为了对输出格式进行进一步的控制,可以通过输出一些操纵符(manipulator)来实现,例如: #include iostream #include iomanip //操纵符声明的头文件。 using namespace std; ..... int x=10; cout hex x endl; //以十六进制输出x的值,然后换行。 对于浮点数(float、double和long double): 当输出格式为ios::scientific或ios::fixed时,操纵符setprecision用于设置浮点数(float和double)小数点后面的位数; 当输出格式既不为ios::scientific也不为ios::fixed,或两者都有时,操纵符setprecision用于设置浮点数有效数字的个数,这时的输出格式根据有效数字自动确定。 除了通过插入操作符进行输出外,也可以用ostream类提供的一些基于字节流的操作来进行输出,例如: //输出一个字符。 ostream ostream::put(char ch); //输出p所指向的内存空间中count个字节。 ostream ostream::write(const

文档评论(0)

xiaolan118 + 关注
实名认证
内容提供者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档