gpt4 book ai didi

c++ - 迭代超过 10GB+ 的二进制文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:12:05 27 4
gpt4 key购买 nike

读取 10GB 二进制文件并解析每个字节而不求助于 boost 库的最简单方法是什么?

它与流、文件、内存映射文件等混淆了。

我真的只是想要这样的东西:

char* buffer = read(filename, binary);

while(buffer != EOF){
//Read byte
++buffer;
}

性能的重要性仅在于文件大小。

最佳答案

如果您想要良好的顺序访问性能(从头到尾读取),请使用 fread() .您可以将 FILE* 存储在 std::shared_ptr 中用于 RAII:

std::shared_ptr<FILE> file(fopen(...), fclose);

您可以忽略 C++ 流、内存映射文件、Boost 等。它们都不会比 fread() 更快。​​

关于c++ - 迭代超过 10GB+ 的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39671628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com