我使用的程序在对大文件使用tmpfile()时失败。问题似乎是我没有权限在/ tmp中创建大文件,默认情况下此功能使用此文件。那么有没有办法,也许有一个环境变量,我可以让tmpfile()写入不同的位置?在Linux上设置tmpfile()的目录
编辑:有问题的程序是sox,它采用C.
我使用的程序在对大文件使用tmpfile()时失败。问题似乎是我没有权限在/ tmp中创建大文件,默认情况下此功能使用此文件。那么有没有办法,也许有一个环境变量,我可以让tmpfile()写入不同的位置?在Linux上设置tmpfile()的目录
编辑:有问题的程序是sox,它采用C.
您可以使用环境变量TMPDIR来告诉TMPFILE()其中创建文件:
SH语法:
TMPDIR=/path/to/whatever; export TMPDIR
CSH语法:
setenv TMPDIR /path/to/whatever
鉴于0123的信息你可能想要:#define P_tmpdir "/somedir"
当然,这可能不太可靠。
您还可以将环境变量TMPDIR
设置为某个位置。
*我的预处理器宏如何改变C库的功能? – SamB 2011-10-14 00:55:19
哪种语言? – 2009-12-27 04:01:25
您不可能“无权在'/ tmp'中创建大文件”。你更有可能已经填满了你的'/ tmp'分区。为什么不简单地增加'/ tmp'分区的大小? – Asaph 2009-12-27 04:22:46
这是在共享服务器上,我无法控制/ tmp设置 – hoju 2009-12-27 23:59:20