posts - 137,comments - 0,views - 40818

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;
}
复制代码

 

posted on   wshidaboss  阅读(112)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示