在Linux上设置tmpfile()的目录

时间:2009-12-27 03:50:34

标签: linux posix tmp temporary-files

我使用的程序在使用tmpfile()表示大文件时失败了。问题似乎是我没有权限在/ tmp中创建大文件,默认情况下此函数使用。那么有一种方法,也许是环境变量,我可以让tmpfile()写到不同的位置吗?

编辑:有问题的程序是sox,它使用C。

2 个答案:

答案 0 :(得分:4)

您可以使用环境变量TMPDIR来告诉tmpfile()创建文件的位置:

sh语法:

TMPDIR=/path/to/whatever; export TMPDIR

csh语法:

setenv TMPDIR /path/to/whatever

答案 1 :(得分:1)

根据man tmpfile (3)中的信息,您可能希望:#define P_tmpdir "/somedir" 当然,这可能不太可靠。

您还可以将环境变量TMPDIR设置为某个位置。