如何在Linux上用C++关闭文件?

Wil*_*mKF 8 c++ linux filesystems

我希望只有在文件关闭时才从磁盘中删除它.到目前为止,其他进程应该能够在磁盘上查看文件并读取其内容,但最终在文件关闭后,应该从磁盘中删除它,并且在磁盘上不再可见其他进程.

Jer*_*fin 10

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

编辑:基于WilliamKF后来添加的评论,这将无法完成他想要的任何内容 - 它会保留文件本身,直到它的所有句柄都关闭,文件名的目录条目将在您完成后立即消失调用unlink/ remove.

  • 抱歉,但William说文件名必须在文件系统中可见."删除,但保持打开"策略不适用于此 - 它会将文件保留在那里,但由于指向它的目录条目的数量(其中可能有多个!)为零,否则没有打开它的过程会找到它.(其他人也不会在文件系统中看到一个条目.) (5认同)
  • @WilliamKF:您可以使用`unlink`或`remove`. (2认同)