如何在存储文件之前查找可用内存
how to find the available memory before store a file?
我想使用C++代码将一些文件保存在特定文件夹(/tmp/)中。存储文件之前
- 我需要检查是否有足够的内存可用。如果没有,我需要从存储中删除最旧的文件,然后我需要存储一个新文件。
- 我还需要知道代码中存储的文件详细信息才能访问它们。
我的实现是:
std::map<string IfileName, int iDetail>
我创建了一个 Map 实例,每当我创建文件数据时,我都会将详细信息存储在地图中。地图的问题有:
- 地图自动对文件名进行排序。所以我无法识别最旧的文件。
- 假设文件在存储中删除,则map还包含有关该文件的详细信息。
对于第一个问题,请尝试阅读此处。关于你问题的第二部分。为什么你不想使用对向量。在这种情况下,您可以使用push_back。
在某些时候,我使用地图和deque的组合来解决类似的问题。诀窍是每个value_type(在地图和双面)都需要使用交叉指针进行扩展。因此,当您使用某个键运行 map.find() 时,您收到的值具有指向 deque 中元素的指针。反之亦然。要找到您刚刚执行的最旧 (LRU) 文件 deque.pop_back(),请取消引用您进入地图的指针,查看详细信息并决定是否需要再删除一个文件。
相关文章:
- 查找自动生成键并具有线性内存消耗的小型关联数组
- 需要帮助查找内存泄漏
- 可视化 使用 VS Code 查找C++应用程序中的内存泄漏
- 内存泄漏如何查找和删除
- 使用一个内存集数组和单个堆栈在 O(n) 中查找数组的下一个更大元素
- 在Visual Studio中查找非法内存访问
- 尝试在我的 C++ 代码中查找内存泄漏
- 需要帮助查找内存泄漏
- C++constexpr数组查找:内存开销?其他问题
- C++ 查找内存泄漏
- 在VS C++ 6.0中,哪些调试工具适合查找内存泄漏的位置
- 在没有第三方工具/项目的情况下,在 MFC C++发布版本中查找内存泄漏
- C++:查找内存映射文件的瓶颈
- 如何查找内存映射文件的流指针(使用boost)
- 在没有DOS、Windows、Linux的情况下在引导中查找内存大小
- 查找内存泄漏的最佳解决方案
- 使用计数器手动查找内存泄漏
- 如何使用GDB来查找内存地址对应的函数
- 如何在C++代码/项目中查找内存泄漏
- 需要帮助查找内存泄漏