欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章 IO流标准库.ppt

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

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

    第8章 IO流标准库.ppt

    第八章第八章 C+I/O流标准库流标准库本章内容本章内容vI/O流概述流概述v流的输入和输出操作流的输入和输出操作v格式化输入输出格式化输入输出教学重点:教学重点:掌握对掌握对文本文件文本文件的的打开打开和和关闭关闭操作;操作;掌握掌握流插入运算符流插入运算符()和输入流类成)和输入流类成员函数员函数get(),getline()的使用;的使用;一、一、C+I/OC+I/O流概述流概述I/OI/O流:流:数据在外部设备和内存之间的数据流数据在外部设备和内存之间的数据流输入流:由外部设备流向内存的数据流。从输入流中获取数据的输入流:由外部设备流向内存的数据流。从输入流中获取数据的操作称为操作称为输入、读或提取输入、读或提取操作。操作。输出流:由内存流向外部设备的数据流。将数据放入输出流的操输出流:由内存流向外部设备的数据流。将数据放入输出流的操作称为作称为输出、写或插入输出、写或插入操作。操作。I/O操作的要素:指定操作的要素:指定I/O设备、设备、I/O操作类型和方式、操作对象操作类型和方式、操作对象 内存内存x xy y2 23 3cincinxy;xy;3 23 23 23 2输输出出设设备备输输入入设设备备屏幕屏幕磁盘磁盘文件文件键盘键盘磁盘磁盘文件文件1.1.程序中的输入程序中的输入/输出操作输出操作coutcoutxyx(提取运算符):输入,从流中获取数据到内存。(提取运算符):输入,从流中获取数据到内存。与与getlinegetline输入字符数据的区别输入字符数据的区别 例:例:带三个参数带三个参数getget与与getlinegetline输入的区别输入的区别使用使用getget使用使用getlinegetline执行执行执行执行差别是:差别是:在遇到终止字符时,在遇到终止字符时,get()get()使读指针停在终使读指针停在终止字符处,而止字符处,而getlinegetline()()将读指针移到终止字符的下将读指针移到终止字符的下一个位置。一个位置。例:例:文件示例文件示例执行执行Data.txtData.txt三、文件三、文件I/OI/O流的使用流的使用0 0 1 2 0 0 1 2 文件结束符文件结束符 字节编号:字节编号:1 2 3 4 5 n-1 1 2 3 4 5 n-1 Ctrl+ZCtrl+Z(2 2)文件结构:)文件结构:C+把每个文件都看成是一个有序的字节把每个文件都看成是一个有序的字节序列,每个文件都以文件结束符标志文件的结束。例如:序列,每个文件都以文件结束符标志文件的结束。例如:(1)文件:)文件:存储在外部设备上的存储在外部设备上的数据数据。用于长期保存数据。用于长期保存数据。三、文件三、文件I/OI/O流的使用流的使用1.磁盘文件简介磁盘文件简介存储内容存储内容(3)文件格式)文件格式文本文件:文本文件:数值和字符均按数值和字符均按ASCII码格式存储码格式存储 例如,数字例如,数字3.141存储时占存储时占5个字节。个字节。00110011 00101110 00110001 00110100 00110001二进制文件:二进制文件:字符按字符按ASCII码存储,数值按内部形式存储码存储,数值按内部形式存储 例如,数字例如,数字3.141存储时占存储时占4个字节。个字节。01000000 01001001 00001111 1101000001000000 01001001 00001111 11010000文本文件可以用文本编辑器打开查看便于阅读,读写时需文本文件可以用文本编辑器打开查看便于阅读,读写时需要进行格式转换;二进制文件用文本编辑器打开时看到的是要进行格式转换;二进制文件用文本编辑器打开时看到的是乱码,不便于阅读;读写时不需要格式转换,效率高。乱码,不便于阅读;读写时不需要格式转换,效率高。三、文件三、文件I/OI/O流的使用流的使用示例示例示例示例(4)文件的读写方式)文件的读写方式 文件结束符文件结束符 1 2 3 4 5 n-1 1 2 3 4 5 n-1 Ctrl+ZCtrl+Z随机方式:在文件的任何位置进行读或写。随机方式:在文件的任何位置进行读或写。读读/写指针写指针顺序方式:按数据在文件中的物理排列顺序依次读或写。顺序方式:按数据在文件中的物理排列顺序依次读或写。注意:在注意:在C+中,文本文件只能以顺序方式读写;中,文本文件只能以顺序方式读写;二进制文件既可以顺序方式读写也可以二进制方式二进制文件既可以顺序方式读写也可以二进制方式读写。读写。2.文件的使用文件的使用定义文件流对象定义文件流对象打开文件用于读和写打开文件用于读和写检查打开是否成功检查打开是否成功读读或写数据或写数据使用完文件后要关闭文件使用完文件后要关闭文件3.3.文件流使用的类和头文件文件流使用的类和头文件 类:类:ifstreamifstream、ofstreamofstream、fstreamfstream 头文件:头文件:fstream.hfstream.h四、四、文件输出流文件输出流 1.1.定义文件输出流对象定义文件输出流对象 2.2.当在程序中要将数据写入一个当在程序中要将数据写入一个磁盘磁盘文文件件时,需要先定义时,需要先定义一一个个ofstream类的对象(输出流对象类的对象(输出流对象)并与该文件关联。并与该文件关联。3.3.方法主要有两种方法主要有两种:方法方法方法方法1 1 1 1:先定义输出流类对象先定义输出流类对象,再调用再调用open成员函数打开文件成员函数打开文件 例:例:ofstream outfile;/建立文件输出流类对象建立文件输出流类对象 outfile.open(“datal.txt”,ios:out);/打开文件打开文件 方法方法方法方法2 2 2 2:在定义输出流类对象时打开相关联的文件在定义输出流类对象时打开相关联的文件 例:例:ofstream outfile(“datal.txt”,ios:out);四、输出流四、输出流 2.2.文件打开成功与否的判断方法文件打开成功与否的判断方法打开文件失败,对象取值为打开文件失败,对象取值为0 0;成功则为非;成功则为非0 0。3.3.使用完文件后应该关闭文件,方法是:使用完文件后应该关闭文件,方法是:文件流对象文件流对象.close();.close();四、输出流四、输出流4.4.向输出流插入数据的方法向输出流插入数据的方法 1 1)使用重载的流插入运算符()使用重载的流插入运算符()输出输出各种数据各种数据 2 2)使用输出流类)使用输出流类成员函数成员函数put()输出一个字符输出一个字符。3 3)使用输出流类)使用输出流类成员函数成员函数write()以二进制形式以二进制形式输出数据。输出数据。例例1 1 使用使用向文本文件写入数据向文本文件写入数据执行执行test1.txttest1.txt 例例2 2:putput函数使用示例函数使用示例执行执行file1.txtfile1.txtfile2.txtfile2.txt五、五、五、五、文件输入流文件输入流 1.1.定义文件输入流对象定义文件输入流对象 2.2.从一个从一个磁盘磁盘文文件输件输入数据前,需要定义入数据前,需要定义一个一个ifstream类类的对象(输的对象(输入入流对象流对象)与该文件关联。与该文件关联。方法主要有两种方法主要有两种:方法方法方法方法1 1 1 1:先定义文件对象先定义文件对象,然后调用然后调用open成员函数打开文件成员函数打开文件 例:例:ifstream infile;/声明文件输入流对象声明文件输入流对象 infile.open(“data1.txt”,ios:in);/打开文件,使流对象与文件建立联系打开文件,使流对象与文件建立联系方法方法方法方法1 1 1 1:在定义文件对象时打开相关联的文件在定义文件对象时打开相关联的文件 例:例:ifstream infile(“data1.txt”,ios:in);五、五、五、五、文件输入流文件输入流2.2.从输入流提取数据的方法从输入流提取数据的方法 1 1)使用重载的流提取运算符()使用重载的流提取运算符()从文本文件读数据。)从文本文件读数据。执行执行例例2 2 使用成员函数使用成员函数getline()从文本文件读数据。从文本文件读数据。例例3 3 利用利用读取文件中的数值数据示例。读取文件中的数值数据示例。执行执行test.txttest.txt例例4:get get函数使用示例函数使用示例函数使用示例函数使用示例。执行执行file1.txtfile1.txtfile2.txtfile2.txt六、六、六、六、以随机方式读以随机方式读/写文件写文件 对文件的读写受到一个定位指针的控制。对文件的读写受到一个定位指针的控制。读指针:从读指针当前所指位置读出数据,向后移动读读指针:从读指针当前所指位置读出数据,向后移动读指针使其指向下一个数据。指针使其指向下一个数据。写指针:把数据写到写指针当前所指位置,向后移动写写指针:把数据写到写指针当前所指位置,向后移动写指针,使其指向下一个写数据的位置。指针,使其指向下一个写数据的位置。利用利用C+C+流类中提供的成员函数,可改变读流类中提供的成员函数,可改变读/写指针,从而写指针,从而实现对文件的随机读实现对文件的随机读/写。写。随机访问多用于二进制文件。随机访问多用于二进制文件。六、六、六、六、以随机方式读以随机方式读/写文件写文件 操作写指针的成员函数操作写指针的成员函数 1 1)移动写指针。)移动写指针。调用格式调用格式1:输出流对象名输出流对象名.seekp(流中位置流中位置);调用格式调用格式2:输出流对象名输出流对象名.seekp(偏移量偏移量,参照位置参照位置);取取iosios类中的枚举量:类中的枚举量:beg(0)相对文件头;相对文件头;curr(1)相对文件当前位置;相对文件当前位置;end(2)相对文件尾。相对文件尾。2 2)返回写指针当前位置(相对于文件头的字节数)。)返回写指针当前位置(相对于文件头的字节数)。调用格式:调用格式:输出流对象名输出流对象名.tellp()六、六、六、六、以随机方式读以随机方式读/写文件写文件 操作读指针的成员函数操作读指针的成员函数 1 1)移动读指针。)移动读指针。调用格式调用格式1:输入流对象名输入流对象名.seekg(流中位置流中位置);调用格式调用格式2:输入流对象名输入流对象名.seekg(偏移量偏移量,参照位置参照位置);取取iosios类中的枚举量:类中的枚举量:beg(0)相对文件头;相对文件头;curr(1)相对文件当前位置;相对文件当前位置;end(2)相对文件尾。相对文件尾。2 2)返回读指针当前位置(相对于文件头的字节数)。)返回读指针当前位置(相对于文件头的字节数)。调用格式:调用格式:输入流对象名输入流对象名.tellg()例例 文件的随机访问示例。把文件的随机访问示例。把100100个素数存入文件个素数存入文件data.bindata.bin。从从文件文件data.bindata.bin中取出第中取出第n n个素数并输出。个素数并输出。8.4 8.4 格式化输入输出格式化输入输出 格式化输入输出是指控制文本模式格式化输入输出是指控制文本模式I/OI/O流的格式。例如,流的格式。例如,设置字段宽度、对齐方式、输出数字的精度等。设置字段宽度、对齐方式、输出数字的精度等。C+C+提供两种提供两种进行格式化输入进行格式化输入 输出的方法输出的方法:用用ios类的成员函数设置格式类的成员函数设置格式 使用格式操纵算子使用格式操纵算子 格式成员函数和格式操纵算子详细情况见书。格式成员函数和格式操纵算子详细情况见书。例:例:格式化输出成员函数使用示例。格式化输出成员函数使用示例。01234567890123451234 1234 567812341234*1234123.46成员函数成员函数width()只对一个输出项有效。只对一个输出项有效。运行结果:运行结果:0123456789012345*1234 1234*1234$12.346 运行结果:运行结果:例:例:操纵算子使用示例操纵算子使用示例 1.复习本章的重点内容及相关例题。复习本章的重点内容及相关例题。复习本章的重点内容及相关例题。复习本章的重点内容及相关例题。2.完成完成完成完成 练习练习练习练习1010的第的第的第的第2 2、3 3、4 4题,不交。题,不交。题,不交。题,不交。课堂抽查。课堂抽查。课堂抽查。课堂抽查。3.完成练习完成练习完成练习完成练习1010的的的的 第第第第5 5、6 6、8 8、9 9题的程题的程题的程题的程序编写,上机调试后书面提交。序编写,上机调试后书面提交。序编写,上机调试后书面提交。序编写,上机调试后书面提交。教学进程教学进程教学进程教学进程课外复习及作业课外复习及作业课外复习及作业课外复习及作业1.运行练习运行练习运行练习运行练习1010的第的第的第的第3 3、4 4题的程序,题的程序,题的程序,题的程序,验证你的分析结果。验证你的分析结果。验证你的分析结果。验证你的分析结果。2.调试作业中的编程题调试作业中的编程题调试作业中的编程题调试作业中的编程题 教学进程教学进程教学进程教学进程上机练习题上机练习题上机练习题上机练习题

    注意事项

    本文(第8章 IO流标准库.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开