我使用的程序在對大文件使用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