【发布时间】:2018-08-01 16:54:55
【问题描述】:
我想用mmap()读取一个固定长度的文件(例如64MB),但也有一些文件
我mmap这个文件(bus-error。
我希望将这些文件以固定长度映射,并在指针超出文件大小时读取 0x00。该怎么做?
我能想到的一种方法是先ftruncate文件,然后ftruncate回到ori大小,但我认为这种方法并不完美。
【问题讨论】:
-
您是说您正在读取一个文件,然后将其写入另一个 64MB 的文件吗?或者只是从一个文件中读取,并分配 64MB 给它?如果是后者,那么我认为您从更高级别处理内存错误,您不需要超过文件大小的零(只需有一个大小变量)。
-
@NicholasPipitone hi,其实我是用一组64MB的块来生成纠删码块
-
您的问题真的与 C 和 C++ 相关吗?仅仅因为 C++ 基于 C 并不会使 C 标记与 C++ 问题相关,反之亦然。