欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第六章流类与输入.ppt

    • 资源ID:2261671       资源大小:171.51KB        全文页数:21页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第六章流类与输入.ppt

    第六章 流类与输入 / 输出,C+ 中除了可使用C中常见的scanf ( ) ,printf( ) 外,为了适 应OOP ,添加了用于对象I /O 的流类库 6.1流的基本概念 终端 物理设备 磁盘驱动器 抽象为流的逻辑设备 打印机 流 流类 流类库,流以相同的方式(I/O 操作函数形式相同) 操作各异的物理设备,格式,状态信息 缓存类 缓存 ios中一根指针 见下)提供输入操作。 ostream类:创建输出流(重载了见下)提供输出操作。 iostream类:创建输入/出流,提供输入/出操作。 class istream : public virtual ios class ostream : public virtual ios class iostream : public istream , public ostream ,6.2 流库的基本结构,ios,streambuf,buf,istream,ostream,iostream,预定义流 物理设备,对应,6.3 流库中定义的 提取( )和 插入( )提取, 为istream 类,重载各种基本类型 重载函数格式: istream,从流中输入,输出到流,char float unsigned/ int double char * signed short long double long,( 输入/出,仅适用于已定义的参数类型 若自定义的类对象,(nameclass)就不可直接施 于 cin nameclass 或cout () 。且只能 重载为友元函数。,同 ,再添加 (void * ),说明,例(1)类矩形Rectangle,以友元函数重载 class Rectangle private : int width ; int height ; public : Rectangle ( int w , int h ) width = w ; height = h ; friend ostream ,ostream ,分析可知: (1) 只能重载为类的友元函数 (2)对于输出 ( ) 返回类型是对 istream 类引用,这样,就可在一条 cin 语句中使用多个 作多个对象的输入。 (6) ( ) 第一参数是对 istream 类引用, 否则,若是局部对象, operator ( ) 不能返回对它的引用。 (7) ( ) 第二个参数必须是引用类型,否则,无法对实际参数对象作 输入改变。(不能保证形参,实参为同一对象!),6.4 流的 格式控制 和 错误处理 p137 1. 格式标志 在 ios 类中定义了一个公共的枚举类型,表示“格式标志” 例:ios: skipws 表示 0x 00001 其他见下表, ios:成员函数法 格式操作算子(因子)法 (算子作独立对象,可直接插入或提取操作),2. ios : 成员函数- 设置或获取格式信息 例 EX_FormatFunc (p138) #include void main ( ) int nNum=12345; double dNum=12345.6789; char *str = “ This”, “is”, “a Test!”; cout .setf ( ios: oct | ios:showbase| ios: showpos ); cout nNum t dNum endl ; cout . setf ( ios: hex | ios:scientific | ios: uppercase ); cout nNum t dNum endl ; cout .fill ( * );,for ( int i =0; i 3 ; i+) cout .width ( 12 ) ; cout str i “ ” ; cout endl ; cout .setf ( ios: left); for ( int i =0; i 3 ; i+) cout .width ( 12 ) ; cout str i “ ” ; cout endl ; ,3. 使用格式算子(因子)操作 ( 算子作独立对象,可直接插入或提取操作) 预定义的格式算子,例 Ex_Formator (p139) #include #include void main ( ) int nNum=12345; double dNum=12345.6789; char *str = “ This”, “is”, “a Test!”; cout setiosflags ( ios: oct | ios:showbase| ios: showpos ); cout nNum t dNum endl ; cout setiosflags ( ios: hex | ios:scientific| ios: uppercase ); cout nNum t dNum endl ; cout setfill ( * );,for ( int i =0; i 3 ; i+) cout setw ( 12 ) str i “ ” ; cout endl ; cout setiosflags ( ios: left); for ( int i =0; i 3 ; i+) cout setw ( 12 ) str i “ ” ; cout endl ; ,4.流的错误处理 ios类,定义一个公有枚举成员 io_state记录各种错误 enum io_state goodbit= 0x00, / 正常 eofbit = 0x01, / 达文件尾 failbit =0x02, /操作失败 badbit =0x04 / 非法操作 io_state: 2位 1位 0 位 badbit failbit eofbit 全0 操作正常! cin . rdstate ( ) / 获取流对象cin 当前状态值 if ( ! cin . rdstate ( ) ) cout “流对象cin 操作正常 OK !” ;,流出错,相应流记录错误,调用检测函数查错,调用clear() 清除查错,ios:检测成员函数 p140 int ios:rdstate(); /返回当前流状态 int ios:bad(); / 若badbit 置位,返回非0 void ios:clear(int); /清除错误状态 int ios:eof(); /遇文件尾,返回非0 int ios:fail(); /若fialbit 置位,返回非0 int ios:good(); /操作正常,返回非0, Ex_manipError 检测流的错误 #include void main ( ) int i ,s; char buf 80; cout i ; s= cin. rdstate() ; / 获取输入流对象的状态 cout i ; s= cin.rdstate() ; ,置 failbit=2 操作失败,5. 使用输入/ 输出成员函数 get( ) 和 getline( ) 输入字符和字符串 int get ( ); / 提取一个字符,转换为整数 istream / 遇n 停止提取,提取n ,但不保存n 例子见p142 本章讲稿有添加内容 作业: P375/49 将“写到磁盘文件point.txt中”改为“显示输出”,注 意:,

    注意事项

    本文(第六章流类与输入.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开