c++ - 如何在 Linux 上的 C++ 中关闭文件时删除文件?

标签 c++ linux filesystems

我希望文件仅在关闭时从磁盘中删除。在此之前,其他进程应该能够看到磁盘上的文件并读取其内容,但最终在文件关闭后,它应该从磁盘中删除,并且在磁盘上不再对其他进程可见。

最佳答案

打开文件,然后在打开时删除它。其他进程将能够使用该文件,但是一旦文件的所有句柄都关闭,它就会被删除。

编辑:根据 WilliamKF 后来添加的评论,这不会完成他想要的 - 它会保留文件本身,直到它的所有句柄都关闭,但是目录条目因为一旦您调用 unlink/remove,文件名就会消失。

关于c++ - 如何在 Linux 上的 C++ 中关闭文件时删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3181641/

相关文章:

C++,查找未使用的代码并包含

python - 在python中打印变量周围的双引号

linux - 将除一个子域以外的所有子域都重定向到 https?

android - 绝对路径的 Ti.Media.Android.scanMediaFiles

c++ - 在具有运行时参数和编译时参数的类之间共享代码

c++ - 你能为已经在堆上的数组分配内存吗

c - GCC 4.7 字符串文字的源字符编码和执行字符编码?

python - 如何在 python 中检查平台不兼容的文件夹(文件)名称

windows - 为什么 ReadDirectoryChangesW 会忽略事件?

c++ - 对 Class::Class/Function 的 undefined reference (OOP 初学者)