温馨提示×

c++ readfile函数如何指定读取的字节数

c++
小樊
82
2024-09-25 00:22:17
栏目: 编程语言

在C++中,你可以使用fread函数从文件中读取指定字节数的数据。以下是一个简单的示例:

#include <iostream>
#include <fstream>
#include <vector>

int main() {
    const char* file_name = "example.txt";
    std::ifstream file(file_name, std::ios::binary | std::ios::ate);

    if (!file.is_open()) {
        std::cerr << "无法打开文件: " << file_name << std::endl;
        return 1;
    }

    // 获取文件大小
    std::streamsize file_size = file.tellg();
    file.seekg(0, std::ios::beg);

    // 分配缓冲区并读取指定字节数的数据
    const size_t bytes_to_read = 1024;
    std::vector<char> buffer(bytes_to_read);
    if (file.read(buffer.data(), bytes_to_read)) {
        std::cout << "成功读取 " << bytes_to_read << " 字节" << std::endl;
        std::cout << "读取的内容: ";
        for (char c : buffer) {
            std::cout << c;
        }
    } else {
        std::cerr << "读取文件时发生错误" << std::endl;
    }

    file.close();
    return 0;
}

在这个示例中,我们首先打开一个名为example.txt的二进制文件。然后,我们获取文件的大小,并分配一个大小为1024字节的缓冲区。接下来,我们使用fread函数从文件中读取指定字节数的数据(在这里是1024字节),并将其存储在缓冲区中。最后,我们输出读取到的数据。

0