【发布时间】:2016-03-09 11:05:55
【问题描述】:
tmpfile() 函数表示:
当流关闭(fclose)或程序正常终止时,创建的临时文件会被自动删除。如果程序异常终止,文件是否被删除取决于具体的系统和库实现。"
tmpfile() 函数返回一个指向创建的临时文件的流指针,而不是文件的路径。 我需要临时文件名路径,因为它需要传递其他库函数。
我的应用程序可以异常退出,因此 tmpfile() 函数可以在异常退出时工作。
如何获取临时文件路径并在退出时自动删除文件
【问题讨论】:
-
如果你需要一个文件名,那么使用 tmpfile() 没有意义
-
您是针对特定系统(例如 Linux 或 POSIX)还是需要它是可移植的?
-
改用
mktemp()怎么样? -
这里有一些有用的答案:stackoverflow.com/questions/1022487/…
-
mktemp不安全,因为可能存在竞争条件。