C++程序设计课程介绍-第14章 输入输出与文件精选.ppt

C++程序设计课程介绍-第14章 输入输出与文件精选.ppt

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

第14章 输入输出与文件 输入输出是指程序与外部设备交换信息 C++把输入输出看成是一个数据流 输入流:外围设备流向内存的数据 输出流:内存流向外围设备的数据 在C++中,输入输出不是语言所定义的部分,而是由标准库提供。 C++的输入输出分为: 基于控制台的I/O 基于文件的I/O 基于字符串的I/O 输入输出与文件 流与标准库 输入输出缓冲 基于控制台的I/O 基于文件的I/O 基于字符串的I/O 流的概念及用途 ?I/O操作是以对数据类型敏感的方式执行的。C++的I/O操作是以字节流的形式实现的。流实际上就是字节序列。 C++提供了低级和高级I/O功能。低级I/O功能通常只在设备和内存之间传输一些字节。高级I/O功能把若干个字节组合成有意义的单位,如整数、浮点数、字符、字符串以及用户自定义类型的数据。 C++提供了无格式I/O和格式化I/O两种操作。无格式I/O传输速度快,但使用起来较为麻烦。格式化I/O按不同的类型对数据进行处理,但需要增加额外的处理时间,不适于处理大容量的数据传输。 流与标准库 类的继承关系 输入输出与文件 流与标准库 输入输出缓冲 基于控制台的I/O 基于文件的I/O 基于字符串的I/O 输入输出缓冲 C++的输入输出是基于缓冲实现的 每个I/O对象管理一个缓冲区,用于存储程序读写的数据 当用户在键盘上输入数据时,键盘输入的数据是存储在输入缓冲区中,当执行“”操作时,从输入缓冲区中取数据存入变量,如缓冲区中无数据,则等待从外围设备取数据放入缓冲区 “”是将数据放入输出缓冲区。如有下列语句: os “please enter the value:”; 系统将字符串常量存储在与流os关联的缓冲区中 输出缓冲区的刷新 程序正常结束。作为main函数返回工作的一部分,将真正输出缓冲区的内容,清空所有的输出缓冲区; 当缓冲区已满时,在写入下一个值之前,会刷新缓冲区; 用标准库的操纵符,如行结束符endl,显式地刷新缓冲区; 在每次输出操作执行结束后,用unitbuf操纵符设置流的内部状态,从而清空缓冲区; 可将输出流与输入流关联起来。在这种情况下,在读输入流时,将刷新其关联的输出缓冲区。在标准库中,将cout和cin关联在一起,因此每个输入操作都将刷新cout关联的缓冲区。 输入输出与文件 流与标准库 输入输出缓冲 基于控制台的I/O 基于文件的I/O 基于字符串的I/O 基于控制台的I/O 标准的输入输出流对象 cin是类istream的对象,它与标准输入设备(通常指键盘)连在一起。 cout是类ostream的对象,它与标准输出设备(通常指显示设备)连在一起。 cerr是类osteam的对象,它与标准错误输出设备连在一起。??? clog是类ostream的对象,它与标准错误输出设备连在一起。 基于控制台的I/O 输出流 输入流 格式化输入/输出 输出流 C++的类ostream提供了格式化输出和无格式输出的功能 输出功能包括 用流插入运算符输出标准类型的数据; 用成员函数put输出字符; 成员函数write的无格式化输出; 输出特定形式数值 输出标准类型的数据 标准类型的数据用流插入运算符输出 格式: cout 数据项 ; C++能自动判别数据类型,并根据数据类型解释内存单元的信息,把它转换成字符显示在显示器上。 输出流 #include iostream using namespace std; int main() {int a = 5, *p = a; double x = 1234.56; char ch = a; cout a = a endl; cout x = x endl; cout ch = ch endl; cout *p = *p endl; cout p = p endl; return 0; } 指针输出的特例 如果输出的指针变量是一个指向字符的指针时,C++并不输出该指针中保存的地址,而是输出该指针指向的字符串。 如果确实想输出这个指向字符的指针变量中保存的地址值,可以用强制类型转换,将它转换成void*类型 #include iostream using namespace std; int main() {char *ptr = abcdef; cout ptr指向的内容为: ptr endl; cout ptr中保存的地址为: (void*)ptr endl; return 0; } 用成员函数put输出字符 write的无格式输出 ?调用成员函数write可实现无格式输出。它有两个参数。第一个参数是一个指向字符的

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档