随机访问文件

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功能相同

以上是关于随机访问文件的主要内容,如果未能解决你的问题,请参考以下文章

随机访问文件

如何在 Java 的随机访问文件中返回一行的位置?

UWP 应用程序从系统上的随机位置访问文件

vim 快捷键

文件和随机访问文件有啥区别?

feof() 在 C 中的工作原理