4-文件操作.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文档。上传文档
查看更多
4-文件操作

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.3 随机文件操作 随机文件的读写是非顺序的,以随机方式访问文件时,文件的记录为定长格式,即每条记录的长度是相同的。 对随机文件的操作包括:打开文件、读写文件、关闭文件。 为方便随机文件的访问,VC++提供了设置写入和读取文件的读写指针位置函数。 * 4.3 随机文件操作 1.随机写 随机写主要使用ostream提供的seekp()函数,该函数有两种形式: (1)绝对偏移指针设置函数 一般形式:ostreamseekp(long pos); 该函数的作用是将写入数据的开始位置定位于距文件首某个指定字节长度的地方。其中pos是距文件首的绝对偏移量,即文件指针的绝对位置。 * 4.3 随机文件操作 例如:在一个已经打开的数据文件指针距文件首10个字节的地方写数据,可以写成: outfile.seekp(10);//该文件ostream流类对象名为outfile (2)相对偏移指针设置函数 一般形式: ostreamseekp(long off,ios::seek_dir dir); 该函数的作用是将写入数据的开始位置定位于相对于文件某个位置指定字节长度的地方。其中,off是距文件某个位置的相对偏移量,ios::seek_dir dir用来指定偏移类型。 * 4.3 随机文件操作 偏移类型 类型 含义 ios::beg 基于文件首的偏移 ios::cur 基于文件指针当前读写位置的偏移 ios::end 基于文件尾的偏移 * 4.3 随机文件操作 例如:利用seekp()函数将字母a~z组成的字符串间隔的写入数据文件“字母表.dat”中,相应的偏移量依次为:0,3,6,9… 程序如下: * 4.4 随机文件操作 #includeiostream.h #includefstream.h int main() {char ch=a; char str[26]; for(int i=0;i26;i++) { str[i]=ch+i; coutstr[i]; } coutendl; ofstream file1(d:\\字母表.dat); if(!file1) { cout字母表文件没有打开!endl; return 0; } for(i=0;i26;i++) { file1.seekp(3*i); file1.put(str[i]); } file1.close(); return 0; } * 4.3 随机文件操作 2.随机读 随机读主要使用istream提供的seekg()函数,该函数有两种形式: (1)绝对偏移指针设置 一般形式:istreamseekg(long pos); 该函数的作用是用来设置读取数据的开始位置。其中pos是距文件首的绝对偏移量。 例如:在一个已经打开的数据文件指针距文件首20个字节的地方开始读数据,可以写成: * 4.3 随机文件操作 File2.seekg(20);//该文件istream流类对象名为file2 (2)相对偏移指针设置 istreamseekg(long off,ios::seek_dir dir); 该函数的作用是将读取数据的开始位置定位于相对于文件某个位置指定字节长度的地方。其中,off是距文件某个位置的相对偏移量,ios::seek_dir dir用来指定偏移类型。 * 4.3 随机文件操作 * 4.3 随机文件操作 例如:利用seekg()函数将前一例题生成的“字母表.dat”数据文件的内容逆序输出,即实现文件的倒读功能。 程序如下: * 4.4 随机文件操作 #includeiostream.h #includefstream.h int main() { int i=0,len=0; char str[100]; ifstream file2(d:\\字母表.dat); if(!file2) { cout字母表文件没有打开!endl; return 0; } while(file2str[i]) { len++; } cout文件长度为:lenendl; cout文件倒读为:; file2.close(); file2.open(“d:\\字母表.dat”,ios::ate);//指针指向文件末尾 * 4.3 随机文件操作 while(ilen) { file2.seekg(-i-1,ios::end);//偏移量是负数,表示向前移动 file2.get(str[i]); coutstr[i];

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档