12读写文件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12读写文件

while(1) { cout 输入正偏移量(0-14,负数结束): ; cinoffset ; if(offset0) { file.close( ) ; return ; } file.seekg(offset, ios::beg) ; // 相对于文件头的偏移 //filech; // 实验:与get的区别 file.get(ch) ; // 从文件中读取一个字符到ch cout 读取的字符: ch,0xhex int(ch), decint(ch)endl ; cout 下一个位置:file.tellg()endl ; next = file.peek(); cout 下一个字符:(char)next,0xhex next ,decnextendl; } } */30 主讲教师 : 黄襄念 西华大学数学与计算机学院 图像处理与模式识别实验室 计算机文件(File) 文件 —— 存储数据 数据以文件形式存放于外存。 操作系统以文件为单位管理数据,实行按名存取。 文件一定要有名字。 设备文件 键盘、鼠标、显示器、打印机、端口等外设都被 抽象为文件设备文件,读写设备文件即读写该设备。 文件按用途有多种类型扩展名区别 *.MP3, *.RAR, *.DOC , *.GIF , *. AVI, … 都是二进制文件,需要专用软件打开它们 */30 C/C++ 文件 文件是一个字节流 流水一样,没有边界 最小数据单位:字节 —— 按字节读写文件 文件的读写(文件操作) C 文件操作 文件操作函数,自学 C ++ 文件操作 流对象(C++ 提供流类),更强大、更安全 WinAPI 文件操作 自学 */30 二进制文件与文本文件 二进制文件 —— 字节序列 文件内数据与内存数据的格式相同,例如:数 5678 内存格式:0001011000101110 存入文件 2字节 每个字节不对应一个字符 人不能阅读(乱码) 文本文件ASCII文件(字符转换) —— 字符序列 用某编码ASCII, UNICODE, …把内存数据转换为字符序列后 存入文件。例如:内存数5678 存储:转换为字符序列 5678 4字符 存入文件 4字节 读取:字符序列 5678 十进制ASCII:53, 54, 55, 56 内存:00110101001101100011011100111000 5 6 7 8 文本文件尺寸更大 字符转换耗费时间 二进制文件更优秀 便于人阅读 */30 文本文件的换行符转换 写入文件 将0a(换行符\n)替换为0d0a(回车换行符)写入文件 读取文件 将0d0a替换为0a后存入内存 二进制文件不作转换 文件流类 流对象与某个文件建立关联后,流对象即该文件 读写该流对象,就是读写其关联文件 cin : 系统定义的流对象,与键盘设备文件关联 cout : 系统定义的流对象,与屏幕设备文件关联 \r: 0x0d, 回到当前行的行首 \n: 0x0a, 换到下一行的当前位置 */30 文件流类与头文件 ofstream output , 输出流类,写文件 —— 数据写入文件 ifstream input , 输入流类,读文件 —— 从文件中读数据 fstream 文件流类,可读可写文件 文件操作头文件 #include fstream */30 读写文件的三步 打开文件 选择文件流类,创建流对象并与要读写文件关联 读写文件 写 (Output): 内存数据 → 文件 读 (Input): 内存数据 ← 文件 关闭文件 读写文件完毕后,及时关闭文件 下面讲述具体操作 */30 打开文件 初始化方式:创建流对象,同时打开文件 ifstream fin( test.dat , ios::in ) ; 创建流对象后,用 open成员函数打开 ofstream fout1, fout2 ; fout1.open( d:\\test.dat, ios

文档评论(0)

ah82299 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档