我使用的程序在使用tmpfile()表示大文件时失败了。问题似乎是我没有权限在/ tmp中创建大文件,默认情况下此函数使用。那么有一种方法,也许是环境变量,我可以让tmpfile()写到不同的位置吗?
编辑:有问题的程序是sox,它使用C。
答案 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
设置为某个位置。