随机访问文件
Posted allinoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机访问文件相关的知识,希望对你有一定的参考价值。
• 随机访问文件指从指定的位置读/写文件,相对于顺序访问文件而言,
增加了文件指针定位处理。
****• 文件指针参照位置有3种情况:
– ios::beg:文件开始处,换算的位置值为0
– ios::cur:文件当前位置
– ios::end:文件末尾处,换算的位置值为文件长度
• 移动读写指针的方法有两种,一是像上面直接将指针移到指定的位置,二是在某个参照位置的基础上,将指针移动一定的偏移量。
int ps1=fin.tellg(); //取fin读指针的偏移量
int ps2=fout.tellp(); //取fout写指针的偏移量
#include<fstream>
#include<iostream>
using namespace std;
int main()
ifstream fin.open("文件");
ofstream fout.open("文件");
//以下第三种情况:
fin.seekg(0, ios::beg);//fin的读指针位置移到文件开头
fin.seekg(0, ios::cur);//fin的读指针位置移到文件当前位置
fout.seekp(0, ios::end);//fout的写指针位置移到文件结尾
int ps1=fin.tellg(); //取fin读指针的偏移量
int ps2=fout.tellp(); //取fout写指针的偏移量
while(fin.peek()!=EOF)//当fin的读指针指向的字符不为EOF
• 其中seekg、tellg、peek用于ifstream类对象,
– seekp、tellp用于ofstream类对象
• 对于fstream类对象,seekg和seekp功能相同,都是定位读写指针,
tellp和tellg功能相同
以上是关于随机访问文件的主要内容,如果未能解决你的问题,请参考以下文章