如何在Linux中找到“temp”目录?

时间:2008-08-27 19:56:44

标签: linux

如何在Linux中找到'temp'目录?我正在编写一个平台中立的C ++函数,它返回临时目录。在Mac和Windows中,有一个返回这些结果的API。在Linux中,我很难过。

5 个答案:

答案 0 :(得分:29)

检查以下变量:

如果全部失败,请尝试使用目录/tmp

您还可以使用tempnam函数生成唯一的临时文件名。

答案 1 :(得分:20)

编辑:来自评论者的公平点。 tmpnam这些天不是一个好选择;请改用mktemp / mkstemp

历史答案:符合POSIX标准,并使用tmpnam(它会在临时位置为您提供完整的文件名)。

答案 2 :(得分:11)

使用$ TMPDIR环境变量的值,如果不存在,请使用/tmp

答案 3 :(得分:9)

接受的序列,特别是从GNU的角度来看,是:

  1. 检查环境变量 TMPDIR getenv(“TMPDIR”)) 程序未运行 SUID / SGID issetugid()== 0
  2. 如果已定义且有效,则使用 P_tmpdir
  3. 最后,如果失败,请使用paths.h提供的 _PATH_TMP
  4. 如果要添加扩展或模块,请检查核心是否为此提供功能。例如,PHP从main / php_open_temporary_file.h导出php_get_temporary_directory()。

答案 4 :(得分:1)

在标准c中,您可以尝试:P_tmpdir