gpt4 book ai didi

c - 截断内存映射文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:09:09 25 4
gpt4 key购买 nike

我想使用读/写内存映射文件来管理我正在创建的一些索引(unsigned int)。

我已经遵循了找到的代码示例 herehere

我最初并不知道文件的大小,所以我计划先将其设为 4K 左右,然后再相应地增大。

但是,我不确定在完成 map 后如何截断文件。因此,如果我只在文件中使用大约 1K,我想将其截断为 1K,而不是在此过程中浪费 3K。我关心的不是浪费文件空间,而是检查文件的大小以确定我有多少 unsigned int

编辑

所以澄清一下...虽然文件是内存映射的...我正在分配 4K block ...当我完成内存映射文件后,我想清理文件,所以它正是我想要的放入其中。

最佳答案

使用ftruncate 截断您的文件,它只需要文件描述符和大小。稍后您可以使用 fstat 查询基础文件的属性,并使用您从那里获得的大小来衡量 future 的映射。

关于c - 截断内存映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587625/

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