C中的Java的System.getProperty(“java.io.tmpdir”)等效吗?

时间:2010-04-16 08:59:48

标签: java c++ c windows

正如标题所说,Java中的java.io.tmpdir属性非常好,我找不到C的等价物。我正在为Windows和Visual Studio编写。我不想只使用类似C:\Temp的东西,因为在更高版本的Windows中,相应的目录可能类似于C:\Users\[UserName]\AppData\Local\Temp,并且检索此方法会更容易。我想要一个目录,而不仅仅是一个临时文件,因为我正在下载并从互联网上执行一个文件。

作为旁注,如果有人能给我提示如何更好地谷歌换C的东西,我将不胜感激:)

2 个答案:

答案 0 :(得分:3)

如果您使用的是Win32 API,则可以使用GetTempPath()

答案 1 :(得分:1)

这不是你要求的,而是在C标准库中:

  • tmpnam_r将创建一个文件名 字符串
  • tmpfile将创建并打开一个 文件(返回文件*)

请参阅:http://www.gnu.org/s/libc/manual/html_node/Temporary-Files.html了解更多可能性

对于目录本身,您既可以获取上述函数生成的文件名的dirname,也可以在Windows中获取环境变量TEMP,在Unix上,您可以获取变量TMPDIR或使用/ tmp如果没有设置TMPDIR