Сохранить Lua tmpfile после выполнения
Загружает файл, представленный как tmpfile(), и будет удален после завершения работы скрипта. Как сделать жесткую ссылку на этот файл, чтобы сохранить его содержимое после удаления 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 ?
Этот файл слишком велик, чтобы копировать его байтом в другой.
1 ответ
io.tmpfile использует tmpfile из stdio.h, поэтому отрегулировать эту экспортированную функцию будет невозможно. Вы можете использовать библиотеки, такие как pl.path, чтобы получить полный путь к временному файлу.