C++中seekp()和seekg()函数怎么使用

c++
1466
2023/10/31 12:28:33
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,seekp()seekg()函数用于设置文件指针的位置。

seekp()函数用于设置写指针的位置,即用于移动指针到文件中的特定位置以进行写操作。它有两个参数:第一个参数是要移动的偏移量(以字节为单位),第二个参数是指针位置的基准位置。基准位置可以是ios::beg(文件开头)、ios::cur(当前位置)或ios::end(文件末尾)。示例代码如下:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ofstream file("test.txt", ios::out | ios::binary);
    if (!file) {
        cout << "Error in creating file!" << endl;
        return 0;
    }

    // 移动写指针到文件末尾
    file.seekp(0, ios::end);

    // 写入数据
    file << "Hello, World!" << endl;

    file.close();

    return 0;
}

seekg()函数用于设置读指针的位置,即用于移动指针到文件中的特定位置以进行读操作。它的使用方法与seekp()函数类似。示例代码如下:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ifstream file("test.txt", ios::in | ios::binary);
    if (!file) {
        cout << "Error in opening file!" << endl;
        return 0;
    }

    // 移动读指针到文件开头
    file.seekg(0, ios::beg);

    // 读取数据
    string line;
    getline(file, line);
    cout << line << endl;

    file.close();

    return 0;
}

在使用seekp()seekg()函数之前,需要先打开文件流,并设置打开模式为ios::in(输入模式)或ios::out(输出模式)。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++ list.sort的最佳实践有哪些