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

    第八章文件电子存储.ppt

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

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

    第八章文件电子存储.ppt

    2019/6/17,软件学院软件基础教研室,1,C+简明教程,2019/6/17,软件学院软件基础教研室,2,第七章 文件:电子存储,输入输出流 文本文件的读写 二进制文件的读写,2019/6/17,软件学院软件基础教研室,3,1、输入输出流,1.1 什么是输入输出(I/O)流 由若干字节组成的字节序列,这些字节中 的数据按顺序从一个对象传送到另外一个对 象。,2019/6/17,软件学院软件基础教研室,4,1、输入输出流,1.2 I/O流的种类 标准输出流类对象cout(输出到显示器) 标准输入流类对象cin(键盘输入) 文件流(读/写文件) 文件输出流类ofstream 文件输入流类ifstream 文件输入输出流类fstream,2019/6/17,软件学院软件基础教研室,5,2、文本文件的写入,2.1 使用ofstream写文本文件 #include void main() ofstream outfile; /创建文件输出流对象 outfile.open(“c:test.txt”); /打开文件 if (outfile.fail() cout “文件打开失败“ endl; return; outfile “this is test” endl; /写文件 outfile.close(); /文件关闭 ,2019/6/17,软件学院软件基础教研室,6,2、文本文件的写入,程序说明: void open ( const char * filename , int mode, int access) 功能:打开指定文件 参数说明: filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性,2019/6/17,软件学院软件基础教研室,7,2、文本文件的写入,mode 常用的值如下: ios:binary: 以二进制方式打开文件,缺省的方式是文本方式。 ios:in: 以输入方式打开文件 ios:out: 以输出方式打开文件 可以用“|”连接属性,如ios:out | ios:binary,2019/6/17,软件学院软件基础教研室,8,2、文本文件的写入,access的取值 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 可以用“或”把以上属性连接起来 ,如1|2就是以只读和隐含属性打开文件。,2019/6/17,软件学院软件基础教研室,9,2、文本文件的写入,2.2 使用fstream写文本文件 void void() fstream file; file.open(“c:test1.txt”, ios:out);/以输出方式打开文件 if (file.fail() cout “can not open file“ endl; return; file “ test fstream “ endl; file.close(); ,2019/6/17,软件学院软件基础教研室,10,2、文本文件的写入,程序说明: file.open(“c:test1.txt”); 相当于 file.open(“ c:test1.txt “, ios:in | ios:out,0);,2019/6/17,软件学院软件基础教研室,11,3、文本文件的读取,3.1 使用ifstream读取文本文件 void main() char str80; ifstream infile; infile.open(“c: test.txt”);/以输入方式打开文件 if (infile.fail() return; while ( ! infile.eof() ) /没有到达文件尾 infile.getline(str,80); /读取文件中的一行 cout str; infile.close(); ,2019/6/17,软件学院软件基础教研室,12,3、文本文件的读取,程序说明: int eof() 功能:检测是否到达文件尾,如果到达文件 尾,返回非0值,否则返回0。,2019/6/17,软件学院软件基础教研室,13,3、文本文件的读取,3.2 使用fstream读取文本文件 void main() char str 80; fstream file; file.open( “c:dong.txt“ , ios:in); /以输入方式读取文件 if ( file.fail() ) return; while ( !file.eof() ) file.getline(str,80);/读取文件中的一行 cout str; file.close(); ,2019/6/17,软件学院软件基础教研室,14,4、文本文件和二进制文件的区别,4.1 什么是文本文件和二进制文件 文本文件 文件的每一个字节都是可打印字符的ASCII码 用流操作符 读写文件 二进制文件 文件的每一个字节可以是ASCII码,也可以是非ASCII码 用read和write函数读写文件,2019/6/17,软件学院软件基础教研室,15,4、文本文件和二进制文件的区别,4.2 如何理解文本文件 实验: 1、在记事本中写入字符1后保存到c:test.dat; 2、用VC以Text方式打开c:test.dat,显示内 容是1; 3、关闭test.dat; 4、用VC以Binary方式打开test.dat,显示内 容是31(字符1的ASCII码),2019/6/17,软件学院软件基础教研室,16,4、文本文件和二进制文件的区别,结论: 1、文本文件中的内容仍然以二进制数据 保存,只是每个二进制数据都对应一个ASCII 码。 2、应用程序根据ASCII码显示出相应的字符。,2019/6/17,软件学院软件基础教研室,17,4、文本文件和二进制文件的区别,4.3 如何理解二进制文件 实验: 1、用VC以Binary方式打开test.dat,将其内 容修改为01,保存test.dat。 2、关闭test.dat,用记事本打开test.dat,显 示内容是什么?,2019/6/17,软件学院软件基础教研室,18,4、文本文件和二进制文件的区别,结论: 1、二进制文件中的数据不一定能解释为 ASCII。 2、二进制文件中的数据由应用程序自己负责 识别其含义。,2019/6/17,软件学院软件基础教研室,19,5、二进制文件的写入,5.1 使用ofstream写二进制文件 void main() ofstream outfile; outfile.open(“c:testbin.dat“ , ios:binary);/以二进制方式打开 if ( outfile.fail() return; int a3=1,2,3; for (int i=0;i3;i+) outfile.write(char *) /testbin.dat中的内容是什么? ,2019/6/17,软件学院软件基础教研室,20,5、二进制文件的写入,程序说明: write( char *p, int count) 向文件写入数据,count表示数据个数。,2019/6/17,软件学院软件基础教研室,21,5、二进制文件的写入,思考题:以下代码还有其他实现方法吗? for (int i=0;i3;i+) binfile.write(char *) ,2019/6/17,软件学院软件基础教研室,22,5、二进制文件的写入,方法一、将整个数组写到文件中 void main() ofstream binfile; binfile.open(“c:testbin.dat“ , ios:binary); if ( binfile.fail() return; int a3=1,2,3; binfile.write(char * )a, sizeof(a); binfile.close(); ,2019/6/17,软件学院软件基础教研室,23,5、二进制文件的写入,方法二、使用reinterpret_cast void main() ofstream outfile; outfile.open(“c:testbin.dat“ , ios:binary);/以二进制方式打开 if ( outfile.fail() return; int a3=1,2,3; for (int i=0;i( ,2019/6/17,软件学院软件基础教研室,24,5、二进制文件的读取,5.2 使用ifstream读取二进制文件 void main() ifstream infile; infile.open(“c:testbin.dat“ , ios:binary); int b3; for (int i = 0;i3;i+) infile.read( (char*) ,2019/6/17,软件学院软件基础教研室,25,5、二进制文件的读取,程序说明: read( char * p, int count) 从文件中读取数据,count表示数据个数。,

    注意事项

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

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




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

    三一文库
    收起
    展开