gpt4 book ai didi

C++读取缓冲区中的整个文件

转载 作者:IT老高 更新时间:2023-10-28 12:49:19 26 4
gpt4 key购买 nike

在 C++ 的缓冲区中读取整个文件内容的好方法是什么?

虽然在纯 C 中我可以使用 fopen()、fseek()、fread() 函数组合并将整个文件读取到缓冲区中,但在 C++ 中使用相同的还是一个好主意?如果是,那么我如何在打开、为缓冲区分配内存、读取和读取文件内容到缓冲区时使用 RAII 方法。

我是否应该为缓冲区创建一些包装类,在其析构函数中释放内存(为缓冲区分配),并为文件处理创建相同的包装?

最佳答案

对于非常基本的功能,不需要包装类:

std::ifstream file("myfile", std::ios::binary | std::ios::ate);
std::streamsize size = file.tellg();
file.seekg(0, std::ios::beg);

std::vector<char> buffer(size);
if (file.read(buffer.data(), size))
{
/* worked! */
}

关于C++读取缓冲区中的整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18816126/

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