1.seekg:
作用:设置输入流的位置
参数 1: 偏移量
参数 2: 相对位置
beg :相对于开始位置
cur: 相对于当前位置
end:相对于结束位置
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
//设置输入流的位置:
int main() {
ifstream iffile;
iffile.open("users.txt");
if (!iffile.is_open()) {
cout << "打开失败!" << endl;
return 1;
}
iffile.seekg(-10,iffile.end);
while (!iffile.eof()) {
string line;
getline(iffile,line);
cout << line << endl;
}
iffile.close();
system("pause");
return 0;
}
2.tellg:
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
//返回该输入流的当前位置(距离文件的起始位置的偏移量)
//获取当前文件的长度:
int main() {
ifstream iffile;
iffile.open("源.cpp");
if (!iffile.is_open()) {
return 1;
}
//先把文件指针移动到文件尾
iffile.seekg(0,iffile.end);
int len = iffile.tellg();
cout << "len:" << len << endl;
iffile.close();
system("pause");
return 0;
}
3.seekp:
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
//设置输出流的位置:
/*demo
先向新文件写入:“123456789”
然后再在第 4 个字符位置写入“ABC”*/
int main() {
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;
}
分类:
C++基础第一卷
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探