управление файлами
[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)
строковое значение, имя файла, который нужно открыть
![]() | Эта функция не может открывать файлы, чьи пути имеют не-ascii
UTF-символы (диакритические знаки и т.д.). В этом случае следует
использовать mopen() . |
строковое значение, статус файла, который следует открыть
файл не существует, новый файл (по умолчанию);
файл уже существует;
неизвестный статус;
файл должен будет удалён в конце сессии.
строковое значение, тип доступа к файлу:
последовательный доступ (по умолчанию);
прямой доступ.
строковое значение, формат файла:
для форматированных файлов (по умолчанию);
двоичная запись.
целочисленное значение, это размер записи в байтах, в случае
access="direct"
целочисленное значение, указатель на логический модуль открытого файла
вектор целочисленных значений, указатель на логический модуль открытого файла. Модули 5 и 6 (%io) зарезервированы системой для входных и выходных устройств.
Символьный вектор-строка, тип (C или Fortran) открытых файлов.
Символьный вектор-строка, имена путей открытых файлов.
режим открытия файла. Сформированный тремя элементами 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=1
, если
автоматический обмен включён. Для Fortran-файлов swap
всегда 0.
целочисленный код, возвращаемый, если открытие файла провалилось.
Если err
пропущен, то выдаётся сообщение об ошибке.
65 | Файл уже используется |
---|---|
66 | Открыто слишком много файлов! |
67 | Неизвестный формат файла |
240 | Файл уже существует или запрещена запись в директорию. |
241 | Файл не существует или чтение запрещено. |
file(…)
выбирает логический модуль unit
и
управляет файлом file-name
.
позволяет открыть файл с особыми параметрами и получить номер связанного
модуля unit
. Этот номер модуля можно использовать для
дальнейших действий с этим файлом или в качестве дескриптора файла при
вызове функций read
, write
,
readb
, writb
,
save
, load
.
позволяет закрыть файл или передвинуть текущий указатель файла.
кладёт указатель в начало файла.
кладёт указатель в начало последней записи.
кладёт указатель после последней записи.
возвращает дескрипторы открытых файлов.
Чтобы проверить, открыт ли файл, чей модуль равен id
,
можно использовать file(id)~=[]
.
Чтобы закрыть все открытые пользователем файлы (типа C или Fortran),
можно использовать file("close",file())
.
Version | Description |
6.0.0 | Внесена stderr в выход file() в виде units(1)=0, typ(1)="STD" и nams(1)="stderr". |