文件流的定位
Posted Respect@
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件流的定位相关的知识,希望对你有一定的参考价值。
seekg
seekg( off_type offset, //偏移量
ios::seekdir origin ); //起始位置
作用:设置输入流的位置
参数1: 偏移量
参数2: 相对位置
beg 相对于开始位置
cur 相对于当前位置
end 相对于结束位置
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void) {
ifstream infile;
infile.open("定位.cpp");
if (!infile.is_open()) {
return 1;
}
infile.seekg(-50, infile.end);
while (!infile.eof()) {
string line;
getline(infile, line);
cout << line << endl;
}
infile.close();
system("pause");
return 0;
}
tellg
返回该输入流的当前位置(距离文件的起始位置的偏移量)
获取当前文件的长度
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void) {
ifstream infile;
infile.open("定位.cpp");
if (!infile.is_open()) {
return 1;
}
// 先把文件指针移动到文件尾
infile.seekg(0, infile.end);
int len = infile.tellg();
cout << "len:" << len;
infile.close();
system("pause");
return 0;
}
seekp
设置该输出流的位置
demo
先向新文件写入:“123456789”
然后再在第4个字符位置写入“ABC”
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void) {
ofstream outfile;
outfile.open("test.txt");
if (!outfile.is_open()) {
return 1;
}
outfile << "123456789";
outfile.seekp(4, outfile.beg);
outfile << "ABC";
outfile.close();
system("pause");
return 0;
}
以上是关于文件流的定位的主要内容,如果未能解决你的问题,请参考以下文章
Java生成二进制文件与Postman以二进制流的形式发送请求
Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element(代码片段