c++

C++中如何读取位于不同位置的文件数据

小亿
122
2024-04-15 18:15:10
栏目: 编程语言

在C++中,可以使用ifstream类来读取文件数据。要读取位于不同位置的文件数据,可以使用seekg函数来设置文件指针的位置,然后再使用read函数来读取数据。

以下是一个示例代码,演示了如何读取位于不同位置的文件数据:

#include <iostream>
#include <fstream>

int main() {
    std::ifstream file("data.txt", std::ios::binary); // 打开文件data.txt,并以二进制模式读取

    if(!file.is_open()) {
        std::cout << "Failed to open file." << std::endl;
        return 1;
    }

    // 将文件指针设置到第10个字节的位置
    file.seekg(10);

    char data[100];
    file.read(data, 100); // 从当前位置读取100个字节的数据

    // 输出读取到的数据
    for(int i = 0; i < file.gcount(); i++) {
        std::cout << data[i];
    }

    // 将文件指针设置到第50个字节的位置
    file.seekg(50);

    file.read(data, 100); // 从当前位置读取100个字节的数据

    // 输出读取到的数据
    for(int i = 0; i < file.gcount(); i++) {
        std::cout << data[i];
    }

    file.close(); // 关闭文件

    return 0;
}

在上面的示例代码中,首先打开文件data.txt,然后使用seekg函数将文件指针分别设置到第10个字节和第50个字节的位置,最后使用read函数分别读取100个字节的数据,并将数据输出到控制台。

0
看了该问题的人还看了