假设我正在用 C 语言创建一个需要使用临时文件的程序。在/tmp 中创建临时文件可能不是一个好主意。是否有函数或操作系统调用为我提供临时文件名称,以便我可以开始写入和读取它?
最佳答案
您可以使用 mkstemp(3)
为此目的而发挥作用。另一种选择是 tmpfile(3)
功能。
您选择哪一个取决于您是希望将文件作为 C 库文件流(tmpfile
做的)还是直接文件描述符 (mkstemp
) 打开. tmpfile
函数还会在程序结束时自动删除该文件。
使用这些函数的优点是它们避免了确定唯一文件名和创建文件之间的竞争条件——例如,这样两个程序就不会尝试同时创建同一个文件。
有关详细信息,请参阅这两个函数的手册页。
关于c - 您如何获取要在 Linux 中使用的临时文件的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647/