1
將uploades文件表示爲tmpfile()並將被刪除,然後腳本退出。 如何在刪除tmpfile後硬鏈接此文件以保留其內容?執行後保留Lua tmpfile
如何通過句柄獲取文件的名稱?
> a=io.tmpfile()
> print(a)
file (0x20c8790)
> lfs=require"lfs"
> lfs.link(a,"/tmp/aaaa")
stdin:1: bad argument #1 to 'link' (string expected, got FILE*)
stack traceback:
[C]: in function 'lfs.link'
stdin:1: in main chunk
[C]: in ?
該文件太大而無法按字節複製到另一個文件。
只需使用常規文件。在Windows中,我知道有辦法通過處理獲取名稱。也可能從FILE *獲得句柄(但是如果與靜態MSCRT鏈接,可能會出現一些問題)。但是,你真的需要這個,而不是僅僅手動創建文件並將其用作tmp?這是我的impl。 https://github.com/moteus/lua-path/blob/master/lua/path.lua#L229 – moteus
使用[os.tmpname()](http://www.lua.org/manual/5.3/manual .html#pdf-os.tmpname)而不是io.tmpfile() –
io.tmpfile()在庫中,所以我不想編輯這個 – eri