第八章输入输出流的基本概念及原理_第1页
第八章输入输出流的基本概念及原理_第2页
第八章输入输出流的基本概念及原理_第3页
第八章输入输出流的基本概念及原理_第4页
第八章输入输出流的基本概念及原理_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 输入输出流(inputoutput stream)的基本概念及原理8.1 预定义数据类型的输入输出8.1.1 预定义流(标准流)的基本原理C+输入输出流的优点:(一)重载运算符“”能以函数重载的形式极大地扩大用途,在输入输出流中充分体现多态性。C 语言的输入输出系统本来就灵活性大、功能比较完善。但它有一个较大缺点:无法处理众多的用户自定义数据类型(主要是结构体、类及其对象) 。例如,有一个结构体类型 exampl 如下:struct exampl int j;char str80; str_ex;如欲输出此结构体对象 str_ex 的两个成员的内容,因而笼统地使用如下输出语句 printf,printf(“%exampl”, str_ex);则将会出现编译错误。而 C+的输出/输入系统则能通过函数重载很好地解决这个问题,通过重载函数使用如下形式:coutvoid main( )int i=3;double d=4.4;printf(“%dt%fn”, i, d);运行结果:3 4.400000 对!但如写错为:printf(“%dt%dn”, i, d);则编译时不出错,但运行结果错,为:3 26214但在 C+中只须写 coutvoid main( )int i=10;std:coutvoid main( )int i=10;std:coutvoid main( )int i=10;std:cout ”在读取数据时,被输入的数据之间的缺省隔离符是空格符 或换行符。当输入非有效字符(例如当输入整型数据时,输入的小数点字符即为非有效字符)时,此非有效字符也被认为是一个隔离符。此时,上一个数值的输入操作结束。如果此非有效字符正好是下一个输入数值的有效字符(例如下一次正好读取浮点数)则此非有效字符被存入缓存内,作为下一次输入操作的有效字符(见以下例 1至例 4) 。但如果这个非有效字符并不是下一个输入数值的有效字符(例如下一次仍然读取整数) ,则输入操作失败,将 0 输入下一个变量,同时结束整个输入操作(见以下例 5) 。必须在键入换行符后,缓存中的数据才真正被输入至变量中。空格符和回车符的使用:空格符是数据隔离符(delimiter ) ,只用于将数据输入至缓存内;而回车符能用于将数据从缓存中输入至程序的数据变量中。例 1前一个数值的非有效字符是后一个数值的有效字符/ in_1.cpp/ The noneffective character of the former value/ is an effective character of the latter value#include void main()int i, j;double d;std:cout i j d;std:cout void main()double d, e, f;std:cout d e f;std:cout #include /for getch( )void main()char string 20 ;std:cout string;std:cout string; / reads againstd:cout void main()char c10, ch10, cha10;std:cout c ch cha;std:cout void main()char c10, ch10, cha10;std:cout c ch cha;std:cout c ch;std:cout void main()int i, a3;std:cout ai;for (i=0; i ai;for (i=0; i”和”void main()int a=1,b=2,c=3,d=4;std:coutabcd;if (!std:cin) std:cout#include void main()char array = “OK“; / “OK“ represents O, K, 0;/字符数组在栈区char *hptr = new char10; /字符串在堆区char *strptr = “No“, *emptr; /字符串“No“在数据区std:coutvoid main( )std:coutvoid main()int i=1;double d=12;std:cout.setf(std:ios:showpoint);std:cout.precision(3);std:cout void main()int j=6;double d=12;std:cout.setf(std:ios:fixed);std:cout.precision(3);std:cout void main()double d = 123.456789;std:cout.width(10);std:cout.fill(*);std:cout#include void main()double d = 0.123456, f = 1234.0;std:cout#include void main()int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论