第3章IO类ppt课件_第1页
第3章IO类ppt课件_第2页
第3章IO类ppt课件_第3页
第3章IO类ppt课件_第4页
第3章IO类ppt课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、第第13章章 i/o流类流类13.1 概述13.1.1 流(stream) 逻辑设备流和信息流 信息流分两类:文本流和二进制流。 文本流和二进制流区别:占用内存不同,表达形式不同。13.1.2 文件 设备文件和信息文件。 打开文件建立流与文件的关联,关闭文件将断开流与文件的联系。13.1.3 缓冲与缓冲区13.2 c+的基本流类体系的基本流类体系13.2.1 基本流类体系 ios-streambuf istream iostream -ostream13.2.2 预定义的流及运算符(标准流) extern istream cin 输入流建立与控制台输入文件(键盘)的联系 extern ostr

2、eam cout 输出流建立与控制台输出文件(显示器)的联系13.3 流的格式化输入输出(流的格式化输入输出(i/o)13.3.1 格式控制字格式控制字 enum /枚举类型枚举类型 dec /将数据转成十进值将数据转成十进值 oct /将数据转成八进值将数据转成八进值 hex /将数据转成十六进值将数据转成十六进值 showbase(n) /输出带有表示数制的输出带有表示数制的字符字符(n只能是只能是8,10,16之一之一)setfill(c ) /填充字符填充字符setprecision(n) /设置十进制有效位,指数输设置十进制有效位,指数输出时设置小数位数出时设置小数位数setw(n)

3、 /设置字段宽度设置字段宽度 setiosflags(ios:skipws) /跳过前导空白字符跳过前导空白字符setiosflags(ios: left) /输出左对齐输出左对齐setiosflags(ios: right) setiosflags(ios:fixed) /固定小数输出固定小数输出setiosflags(ios:scientific) /指数输出指数输出setiosflags(ios:uppercase) /大写字母指数输大写字母指数输出出setiosflags(ios: showpos) /输出后嗣输出输出后嗣输出+showpoint /输出实数必须带有小数点输出实数必须带

4、有小数点说明:在说明:在cout中直接使用。中直接使用。例例: cout.fill(a)13.2.3.2 格式控制函数 是类ios 中的成员函数 ios: flags(), 取标志中的指定位ios: setf(), 设置标志中的指定位ios:unsetf() 取消标志中的指定位 ios:dec /将数据转成十进值 ios: oct /将数据转成八进值ios: hex /将数据转成十六进值ios:showbase(n) /输出带有表示数制的字符(n只能是8,10,16之一)ios:scientific /指数输出ios:uppercase /大写字母指数输出ios: showpos /输出后输出

5、+ios: left /输出左对齐ios: right ios:fixed /固定小数输出ios:scientific) /指数输出ios:uppercase /大写字母指数输出说明:在cout.setf( )中使用,设置有效 cout.useetf( ) 中使用,设置无效 例: 使用设置标志字的例子 #include iostream.h void main() int num; coutnum; coutdec:numt; /默认十进制默认十进制 cout.setf(ios:showbase|ios:oct|ios:uppercase); /设置数制字符、八进制、字母大写 coutoct:

6、numt; cout.setf(cout.flags()& ios:oct) | ios:hex); /取消八进制、设置十六进制输出取消八进制、设置十六进制输出 couthex:numendl; 例: 使用函数设置标志字的例子void main() int num; coutnum; cout”dec:”numt; /默认十进制 cout.setf(0 x02c0); /设置数制字符、十六进制、字母大写,使用常量和设置标志字 cout”hex:”numt”; cout.unsetf(ios: hex) ; /取消十六进制cout.setf(ios: oct); /设置八进制输出cout

7、”oec:”numendl;说明:1. ios:showbase | io:hex | ios: : uppercase 0080 0040 0200 和值为 : 0 x02c02. cout.setf(cout.flags() & ios: hex) | ios: : oct); /取消十六进制、设置八进制输出13.2.3.3 设置域宽与填充方式 1. 设置域宽的两个重载函数 int ios:width( ) int ios:width(int) 2. 设置填充方式的两个重载函数 int ios:fill() int ios:fill(int)例:使用设置域宽的例子#include

8、“iostream.h”main() int num=-23,len; cout”12345678901234567890n”; /a len=cout.width(); coutnumtlenendl; /b cout.width(10); len=cout.width(); cout.fill(#); coutnumtlenendl; /c cout.setf(ios: left); cout.width(len); coutnumtlenendl; /dcout.width(10);cout.setf(ios: internal);coutnumtlenendl; /e输出结果: 12345678901234567890 /a -23 0 /b #-23 10 /c -23# 10 /d -#23 10 /e13.2.3.4 实数输出格式控制 int ios: precision(); int ios: precision(int);13.2.3.5. i/o 操纵符 setbase(int) endl setfill(int) setw(int) 例:使用操纵符的例子 #include “iostream.h” #include “iomanip.h” main() int num=-23,len; cout”12345678901

温馨提示

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

评论

0/150

提交评论