什么是在C ++缓冲区中读取整个文件内容的好方法?
简而言之,CI可以使用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! */
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句