对于文件读取,何时使用 filebuf
For file reading, when to use filebuf
我将从只读二进制文件中进行随机访问读取。 ifstream 的接口似乎比 filebuf 简单;但是,是否有任何用例可以提供更好的性能?
更多详细信息:我有一个固定长度(48字节)记录的文件,并将按顺序进行随机访问读取 - 读取 1 条记录、处理、读取 1 条记录(从其他地方)、进程...... (遍历一棵树。 文件永远不会更改。 由于记录是固定长度的,我以后可能会使用"字符类型",即 48 字节记录,但我认为这不会对性能有任何影响。
如果您使用的是 Linux,可能正在使用 mmap 可以解决一点一点读取文件的整个问题。
还是提升内存映射文件?http://www.boost.org/doc/libs/1_52_0/libs/iostreams/doc/classes/mapped_file.html
相关文章:
- 何时在引用或唯一指针上使用移动语义
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- std::vector的包装器,使数组的结构看起来像结构的数组
- 何时提供默认参数作为模板参数
- 如何在全屏模式下(在OpenGL中)使背景透明
- 找到两对数字,使它们的乘积的绝对差最小化
- C++:如何使函数只返回作为列表一部分的字符串
- C++-明确何时以及如何调用析构函数
- c++使用foreach使数组为null
- 使外部项目可用于find_package CMake
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 是否可以在C++中使变量真正只读
- 有可能使shared_ptr协变吗
- 使lambda不可复制/不可移动
- 何时使函数成为类成员函数C++?
- 何时必须使操作员<<过载?
- 在Windows上,何时有必要将附加到目录路径上,以使_stat成功
- 对于文件读取,何时使用 filebuf
- Apple C++ LLVM Compiler 4.x & UNICODE:何时需要?UNICODE 是默认编译器字符集吗?使代码同时编译 ANSI 和 UNICODE 版本
- 如何使libcurl c++调用超时和/或知道调用中何时发生超时