2009-12-27 29 views
0

我使用的程序在对大文件使用tmpfile()时失败。问题似乎是我没有权限在/ tmp中创建大文件,默认情况下此功能使用此文件。那么有没有办法,也许有一个环境变量,我可以让tmpfile()写入不同的位置?在Linux上设置tmpfile()的目录

编辑:有问题的程序是sox,它采用C.

+0

哪种语言? – 2009-12-27 04:01:25

+0

您不可能“无权在'/ tmp'中创建大文件”。你更有可能已经填满了你的'/ tmp'分区。为什么不简单地增加'/ tmp'分区的大小? – Asaph 2009-12-27 04:22:46

+0

这是在共享服务器上,我无法控制/ tmp设置 – hoju 2009-12-27 23:59:20

回答

4

您可以使用环境变量TMPDIR来告诉TMPFILE()其中创建文件:

SH语法:

TMPDIR=/path/to/whatever; export TMPDIR 

CSH语法:

setenv TMPDIR /path/to/whatever 
1

鉴于0123的信息你可能想要:#define P_tmpdir "/somedir" 当然,这可能不太可靠。

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

+1

*我的预处理器宏如何改变C库的功能? – SamB 2011-10-14 00:55:19