IO库的成员函数iostream库.ppt_第1页
IO库的成员函数iostream库.ppt_第2页
IO库的成员函数iostream库.ppt_第3页
IO库的成员函数iostream库.ppt_第4页
IO库的成员函数iostream库.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

iostream库 输入输出和文件操作 本章要点 iostream库的结构终端输入 输出文件输入 输出内存输入 输出 终端输入 输出 iostream库 输入输出操作是由输入流istream和输出流ostream提供的iostream是同时从istream和ostream派生的类 允许双向的输入 输出为了使用输入输出流库 必须包含相关的头文件 include iostream库 iostream库定义了三个标准流对象 cin 代表标准输入的istream类对象用cin从用户终端读入数据cout 代表标准输出的ostream类对象用cout向用户终端写数据cerr 代表标准错误的ostream类对象cerr是导出程序错误消息的地方操作符输出主要由重载的操作符 完成 输出 最常用的输出方法是在cout上应用操作符 输出操作符可以接受任何内置类型的表达式 包括constchar 输出操作符还接受标准库string和complex类类型bool类型的输出缺省情况下bool类型的输出为0或1 而不是文字值false和true 可以通过应用操作符boolalpha来改变这种行为 输出 includeusingnamespacestd intmain cout defaultboolvalues true false nalphaboolvalues boolalpha true false endl 程序的输出结果 defaultboolvalues 10 alphaboolvalues truefalse 输入 输入主要由运算符 支持预定义的输入操作符可以接受任何内置数据类型包括C风格字符串 以及标准库string和complex类类型缺省情况下 输出操作符会丢弃任何中间空白空格 制表符 换行符 走纸以及回车如果希望读入空白字符 可以使用istream的成员函数get 输入 includeusingnamespacestd intmain charch 读取每个字符 包括空白字符while cin get ch cout put ch ostream的成员函数put 常常和get 配合使用 其他输入 输出操作 有时候需把输入流作为一个未经解释的字节序列来读取 而不是作为特定的数据类型的序列istream的成员函数get 一次可以读入一个字节get 有3个重载版本getline 一次读入连续的一块字节 以换行符结束 或者以用户定义的某个终止字符结束 其他输入 输出操作 get 的第一个版本get char ch 从输入流中提取一个字符 包括空白字符 并将它存储在ch中 它返回调用的istream对象和get 对应的输出操作是ostream的成员函数put 它将char型的实参输出到输出流 并返回被调用的ostream对象例 统计输入流上的各种字符 然后将字符输出到输出流 代码示例 其他输入 输出操作 get 的第二个版本从输入流读入一个字符 并返回该字符的int值代码示例get 的第三个版本istreamsink是一个字符数组的首地址 用来存放被读取的字符size代表可以从istream中读入的字符的最大数目delimiter表示 如果遇到这个字符就结束读取的动作 delimiter字符本身不被读入 而是留在istream中 作为istream的下一个字符可以用istream的成员函数ignore 来去掉delimiter代码示例 其他输入 输出操作 istream的成员函数getline getline 的使用语法和get 的第三种形式相同 不同之处在于getline 会从istream对象中读取delimiter并丢弃它istream的成员函数gcount 返回get 和getline 实际从输入流读取的字符个数原型 istream函数作用是跳过输入流中n个字符 或在遇到指定的终止字符时提前结束 此时跳过包括终止字符在内的若干字符 其他输入 输出操作 read istream的成员函数read char addr streamsizesize 可以从输入流中提取size个连续的字节 并将其存在首地址为addr的内存中 read 返回当前调用的istream对象write 与read 相应的是ostream的成员函数write char sink streamsizelength 它输出指定长度的字符数组write 返回当前调用的ostream对象代码示例 其他输入 输出操作 标准库中的非成员的getline 函数可以将字符读入string对象中getline 的原型getline istreamgetline 的行为读入最大数目为str max size 1个字符 如果输入序列超出这个限制 则读操作失败 并且istream对象被置为错误状态 否则 当读到delimiter或遇到文件结束符时 输入结束delimiter从istream中丢弃 但不读入string中 操纵符 每个iostream库对象都有一个格式状态 控制格式化输入输出的细节比如整型数值的进制基数或浮点数的精度C 提供了一组预定义的操纵符来修改对象的格式状态例 以不同进制输出整数 代码示例 C 预定义的操纵符表 文件输入 输出 iostream库中的文件类 iostream库提供了三个类类型支持文件操作 ifstream 从istream类派生 把一个文件连接到程序上用来输入 ofstream 从ostream类派生 把一个文件连接到程序上用来输出 fstream 从iostream类派生 把一个文件连接到程序上用来输入和输出 为了使用iostream库的文件流 必须包含相关的头文件 includeC 对文件的输入 输出也支持同样的输入和输出操作符 文件输出 为了打开一个用于输出 写 的文件 我们定义一个ofstream类的对象可以在初始化对象时给出文件名也可以在创建对象后使用open 操作打开文件 文件输出 以输出模式ios base out打开文件copy txt 并将文件连接到outfile对象上ofstreamoutfile copy txt 等价于ofstreamoutfile copy txt 也可以使用open 操作 ofstreamoutfile2 outfile2 open doc txt close 可以断开文件与fstream对象的连接 关闭doc txt文件outfile2 close 还可以使用附加模式打开ostream文件 新数据被追加到文件末尾ofstreamoutfile3 append txt ios base app 文件输入 为了打开一个仅用于输入 读 的文件 我们可以使用ifstream类对象文件操作的例子逐行拷贝文件 代码示例 为文件加行号输出 代码示例 从文件中提取单词 代码示例 内存输入 输出 iostream库的内存输入 输出 iostream还支持内存输入 输出当流被附着在程序内存中的一个字符串上时 我们可以用iostream输入和输出操作符来对它进行读写通过定义下列三个类型中的一个实例来定义一个iostream字符串对象 istringstream 从istream类派生 从一个字符串中读取数据ostringstream 从ostream类派生 写入到一个字符串中stringstream 从iostream类派生 从字符串中读取 或者写入到字符串中要使用这些类 必须包含相关的头文件 include 内存输入 输出 函数将一个文件读入到一个ostringstream类对象buf中 include include includeusingnamespacestd stringread file into string ifstreamifile alice txt ostringstreambuf charch while buf 内存输入 输出 ostringstream的成员函数str 返回与ostringstream对象相关联的string对象 可以用string的操作来处理这个对象istringstream由一个string对象构造得到 它可以读取该string对象istringstrea

温馨提示

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

评论

0/150

提交评论