c – 如何获取要在Linux中使用的tempfile的文件名?

前端之家收集整理的这篇文章主要介绍了c – 如何获取要在Linux中使用的tempfile的文件名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我正在C中创建一个需要使用临时文件的程序.在/ tmp中创建一个特殊的临时文件可能不是一个好主意.有没有一个函数或OS调用来提供一个临时文件名,以便我可以开始写入和读取它?

解决方法

您可以使用 mkstemp(3)功能为此目的.另一个选择是 tmpfile(3)功能.
您选择哪一个取决于您是要将文件作为C库文件流(哪个tmp文件)打开,还是直接文件描述符(mkstemp).程序完成时,tmpfile函数也会自动删除文件.

使用这些功能的优点是,它们避免了在确定唯一文件名和创建文件之间的竞争条件,以便两个程序不会尝试同时创建相同的文件.

有关更多详细信息,请参阅两个功能的手册页.

猜你在找的C&C++相关文章