C++中使用seekg函数进行随机读写
seekg(off type offset, ios::seekdir origin ); //作用:设置输入流的位置
这个函数有俩个参数,第一个是表示偏移量,第二个是表示相对位置
infile.seekg(-50, infile.end);//表示从文件结尾开始,向文件开头方向读50个字节
参数 1:
偏移量,如果为正,就表示从文件开头方向读向文件结尾方向
如果为负,就表示从文件结尾方向读向文件开头方向
参数 2:
表示相对位置
相对于开始位置
beg
相对于当前位置
cur
相对于结束位置
end
看代码实例
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void) {
ifstream infile;
string line;
infile.open("text.cpp");
if (!infile.is_open()) {
return 1;
}
infile.seekg(-50, infile.end);//表示从文件结尾开始,向文件开头方向读50个字节
while (!infile.eof()) {
getline(infile, line);
cout << line << endl;
}
infile.close();
}