14.2.17 Временные файлы
Иногда необходимо записать данные во временный файл. Это чаще всего используется, когда внешняя программа, запущенная из Octave, нуждается в доступе к данным. При выходе Octave все временные файлы будут удалены, поэтому этот шаг не нужно выполнять вручную.
- : [fid, name, msg] = mkstemp ("template")
- : [fid, name, msg] = mkstemp ("template", delete)
-
Возвращает дескриптор файла fid, соответствующий новому временному файлу с уникальным именем, созданным из template.
Последние шесть символов template должны быть
"XXXXXX"и они заменяются строкой, делающей имя файла уникальным. Затем файл создаётся с режимом чтения/записи и правами, зависящими от системы (в системах GNU/Linux права будут 0600 для версий glibc 2.0.7 и более поздних). Файл открывается в двоичном режиме и с флагомO_EXCL.Если необязательный аргумент delete указан и равен true, файл будет автоматически удалён при выходе Octave.
В случае успеха fid — это действительный идентификатор файла, name — имя файла, а msg — пустая строка. В противном случае fid равен -1, name пусто, а msg содержит сообщение об ошибке, зависящее от системы.
- : [fid, msg] = tmpfile ()
-
Возвращает идентификатор файла, соответствующий новому временному файлу с уникальным именем.
Файл открывается в двоичном режиме чтения/записи (
"w+b") и будет автоматически удалён при его закрытии или при выходе Octave.В случае успеха fid — это действительный идентификатор файла, а msg — пустая строка. В противном случае fid равен -1, а msg содержит сообщение об ошибке, зависящее от системы.
- : fname = tempname ()
- : fname = tempname (dir)
- : fname = tempname (dir, prefix)
-
Возвращает уникальное имя временного файла в виде строки.
Если prefix опущен, используется значение
"oct-".Если dir также опущен, используется стандартный каталог для временных файлов (
P_tmpdir). Если dir указан, он должен существовать, в противном случае используется стандартный каталог для временных файлов.Примечание для программистов: так как именованный файл не открывается
tempname, есть небольшая, но всё же вероятность, что он не будет доступен к моменту, когда ваша программа попытается его открыть. Если это вызывает беспокойство, см.tmpfile.
- : dir = tempdir ()
-
Возвращает имя каталога на хост-системе для временных файлов.
Имя каталога берется сначала из переменной среды
TMPDIR. Если её нет, используется системное значение по умолчанию, возвращаемоеP_tmpdir.
- : P_tmpdir ()
-
Возвращает имя стандартного каталога на хост-системе для временных файлов.
Примечание для программистов: значение, возвращаемое
P_tmpdir, всегда является значением по умолчанию. Это значение может не совпадать с возвращаемымtempdir, если пользователь переопределил значение по умолчанию с помощью переменной окруженияTMPDIR.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Temporary-Files.html