file
управление файлами
Синтаксис
[unit, err] = file("open", file-name [,status] [,access [,recl]] [,format]) file("close", unit) file("rewind", unit) file("backspace", unit) file("last", unit) [units, typ, nams, mod, swap] = file() [units, typ, nams, mod, swap] = file(unit)
Аргументы
- file-name
строковое значение, имя файла, который нужно открыть
Эта функция не может открывать файлы, чьи пути имеют не-ascii UTF-символы (диакритические знаки и т.д.). В этом случае следует использоватьmopen()
.- status
строковое значение, статус файла, который следует открыть
- "new"
файл не существует, новый файл (по умолчанию);
- "old"
файл уже существует;
- "unknown"
неизвестный статус;
- "scratch"
файл должен будет удалён в конце сессии.
- access
строковое значение, тип доступа к файлу:
- "sequential"
последовательный доступ (по умолчанию);
- "direct"
прямой доступ. Тогда обязателен следующий аргумент
recl
.
- format
строковое значение, формат файла:
- "formatted"
для форматированных файлов (по умолчанию);
- "unformatted"
двоичная запись.
- recl
целочисленное значение, это размер записи в байтах, в случае
access="direct"
- unit
целочисленное значение, указатель на логический модуль открытого файла
- units
вектор целочисленных значений, указатель на логический модуль открытого файла. Модули 5 и 6 (%io) зарезервированы системой для входных и выходных устройств.
- typs
Символьный вектор-строка, тип (C или Fortran) открытых файлов.
- nams
Символьный вектор-строка, имена путей открытых файлов.
- mod
режим открытия файла. Сформированный тремя элементами abc:
>Файлы Fortran a 0 стоит для форматированных, а 1 - для неформатированных (двоичных) b 0 стоит для последовательного доступа, а 1 - для прямого доступа c 0 стоит для "new", 1 - для "old", 2 - для "scratch" и 3 - для "unknown" C-файлы a 1 стоит для "r" (чтение), 2 стоит для "w" (запись) и 3 - для "a" (дополнение) b равен 1, если файл открыт в режиме "+" (обновление) c равен 1, если файл открыт в режиме "b" (двоичный) - swap
переключатель автоматического обмена.
swap=1
, если автоматический обмен включён. Для Fortran-файловswap
всегда 0.- err
целочисленный код, возвращаемый, если открытие файла провалилось. Если
err
пропущен, то выдаётся сообщение об ошибке.65 Файл уже используется 66 Открыто слишком много файлов! 67 Неизвестный формат файла 240 Файл уже существует или запрещена запись в директорию. 241 Файл не существует или чтение запрещено.
Описание
file(…)
выбирает логический модуль unit
и
управляет файлом file-name
.
- [unit [,err]]=file("open", file-name [,status] [,access [,recl]][,format])
позволяет открыть файл с особыми параметрами и получить номер связанного модуля
unit
. Этот номер модуля можно использовать для дальнейших действий с этим файлом или в качестве дескриптора файла при вызове функцийread
,write
,save
,load
.- file("close", unit)
позволяет закрыть файл или передвинуть текущий указатель файла.
- file("rewind", unit)
кладёт указатель в начало файла.
- file("backspace", unit)
кладёт указатель в начало последней записи.
- file("last", unit)
кладёт указатель после последней записи.
- file()
возвращает дескрипторы открытых файлов.
Чтобы проверить, открыт ли файл, чей модуль равен
id
, можно использоватьfile(id)~=[]
.Чтобы закрыть все открытые пользователем файлы (типа C или Fortran), можно использовать
file("close",file())
.
Примеры
Смотрите также
- isfile — проверяет является ли аргумент существующим файлом
- read — matrices read
- write — writes real numbers or strings in the console or in a formatted file
- mopen — открывает файл в Scilab'е
- save — Saves some chosen variables in a binary data file
- load — Loads some archived variables, a saved graphic figure, a library of functions
- uigetfile — dialog window to get a file(s) name(s), path and filter index
История
Версия | Описание |
6.0.0 | Внесена stderr в выход file() в виде units(1)=0, typ(1)="STD" и nams(1)="stderr". |
Report an issue | ||
<< OS_commands | Input/Output functions | getio >> |