假设我正在用C创建一个需要使用临时文件的程序。在/tmp中创建临时的tempfile可能不是一个好主意。是否有函数或OS调用为我提供了一个临时文件名,以便我可以开始对其进行写入和读取?

最佳答案

为此,您可以使用 mkstemp(3) 函数。另一种选择是 tmpfile(3) 函数。
选择哪一个取决于您是否要以C库文件流(tmpfile这样做)或直接文件描述符(mkstemp)打开文件。编程完成后,tmpfile函数也会自动删除文件。

使用这些功能的优点是,它们避免了在确定唯一文件名和创建文件之间的争用情况-例如,两个程序不会尝试同时创建同一文件。

有关这两个功能的更多信息,请参见手册页。

关于c - 如何获得在Linux中使用的临时文件的文件名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29647/

10-11 22:24
查看更多