- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 输入输出和异常处理 中国铁道出版社 10.1 C++流的概念 C++的输入输出操作通过流完成 输入操作是从某个地方接收到字符序列(字节流)后,将其转换成一个对象的状态所要求的格式 输出操作是将一个对象的状态转换成一个字符序列后输出到指定的地方。 C++将与输入输出有关的操作定义在多个类中,这些类的集合构成类体系 执行输入输出操作的类体系称为流类,常用的有标准流类、文件流类和字符串流类 实现流类的库称为流类库 1.基本流类 这些类在头文件iostream中进行声明。 (1)streambuf类 该类为其派生类ios类提供对数据的缓冲支持,iso类中的一个指针成员指向该类的对象。 (2)ios类 提供对流进行格式化的输入输出操作等,是一个虚基类。 (3)istream类 提供对该类对象的输入操作,由提取运算符“”来实现 (4)ostream类 提供对该类对象的输出操作,由插入运算符“”来实现 (5)iostream类 将istream和ostream两个类组合在一起,支持对一个流的双向操作,从而实现输入和输出操作。 2.文件流类 (1)fstreambase类 这是一个公共的基类 (2)filebuf类 从streambuf类派生来的,提供对数据的缓冲支持。 (3)ifstream类 由istream类派生而来,实现对文件的提取操作。 (4)ofstream类 由ostream类派生而来,实现对文件的插入操作。 (5)fstream类 由ifstream和ofstream两个类派生而来,实现对文件的输入和输出操作。 这些类都在头文件fstream中说明。 3.字符串流类 (1)istrstream类 由istream类派生而来,实现从序列中提取字符。 (2)ostrstream类 由ostream类派生而来,实现将字符插入到序列中。 这2个类都在头文件strstream中说明。 4.头文件 (1)头文件iostream 使用cin、cout等对标准设备进行输入输出操作,要包含此文件 (2)头文件fstream 使用文件流对象对磁盘文件进行输入输出操作,要包含此文件。 (3)头文件strstream 使用字符串流对象对内存的字符串空间进行输入输出操作时,要包含此文件 (4)头文件iomanio 要使用setw、fixed等操作符时,要在程序的开始包含此文件。 5.流对象 C++中预定义了4个流对象 (1)cin istream类的标准输入对象,和标准输入设备键盘相联系。 (2)cout ostream类的标准输出对象,和标准输出设备显示器相联系。 (3)cerr 不带缓冲的标准出错信息输出,ostream类的一个对象,和显示器相联系 (4)clog 带缓冲的标准出错信息输出,ostream类的一个对象,和显示器相联系 10.2 输入输出格式 10.2.1 数据的输入输出 主要有以下3种不同的方法: 使用流类对象cout和cin 使用成员函数get()和put()输入输出字符 使用成员函数read()和write()输入输出字符串 1.使用流类对象cout和cin (1)一个流中可以使用多个插入运算符,数据项可以是常量、变量、表达式,数据项兼有计算功能 例如:int x=3,y=5; coutx=x y=y sum=x+y; (2)输出项是字符指针,输出指针所指向的字符串 例如:char *str=China; coutstrendl; 如果要输出该指针变量的地址值: cout(void *) strendl; (3)cin可以连续使用多个提取运算符给多个变量赋值 格式: cin变量1变量2…… 2.成员函数get()和put() 成员函数put() 将字符送到输出流中,实现单个字符的输出 格式1: cout.put(字符); 格式2: cout.put(字符1) .put(字符2) .put(字符3)……; “字符”可以是字符常量、字符变量、整型表达式 【例10-1】使用函数put()输出字符 #include iostream using namespace std; void main() { cout.put(a); // 输出字符常量 cout.put(x).put(y) .put(z); // 输出3个字符 cout.put(65); // 输出ASCII码为65的字符 cout.put(A+1); // 输出ASCII码为表达式A+1结果的字符 char x=z; cout.put(x); // 输
您可能关注的文档
- C#程序设计案例教程 周庞荣 易斌 第7章 函数新.ppt
- C#程序设计案例教程 周庞荣 易斌 第8章 面象对象程序设计基础新.ppt
- C#程序设计案例教程 周庞荣 易斌 第9章 继承新.ppt
- C#程序设计案例教程 周庞荣 易斌 第13章 文件的输入和输出新.ppt
- C#程序设计陈语林 第01章新.ppt
- C#程序设计陈语林 第03章新.ppt
- C#程序设计陈语林 第05章新.ppt
- C#程序设计陈语林 第06章新.ppt
- C#程序设计陈语林 第07章新.ppt
- C#程序设计陈语林 第10章新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第2章 C++基础知识新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第6章 模块化的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第7章 指针与引用的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第8章 类与对象的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第9章 复杂对象的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第10章 类继承的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第11章 类多态的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第12章 模板的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第13章 IO流的程序设计新.ppt
- C++程序设计 连卫民 何樱 韩彦锋 等 第14章 C++课程设计新.ppt
文档评论(0)