Встроенные команды ТCL
open
Открывает канал для связи с файлом или программой.
Синтаксис
open fileName
open fileName access
open fileName access permissions
Описание
Эта команда открывает файл, последовательный порт или командный конвейер и возвращает идентификатор канала, который может использоваться в дальнейшем в таких командах, как read, puts и close. EСЛИ первый символ атрибута fileName не равен «|», то команда открывает файл fileName, соответственно значение аргумента fileName должно соответствовать обычным соглашениям.
Аргумент access, если он используется, указывает разрешенные режимы доступа к файлу. Аргумент access может указываться в одной из двух нотаций. В первой он может иметь
следующие, значения:
r
Открывает файл только на чтение. Это значение по умолчанию.
r+
Открывает файл на чтение и запись. Файл должен существовать.
w
Открывает файл только на запись. Удаляет содержимое файла, если он существовал. Если нет, то создает новый файл.
w+
Открывает файл на чтение и запись. Удаляет содержимое файла, если он существовал. Если нет, то создает новый файл.
а
Открывает файл на чтение. Файл должен существовать. Новые данные записываются в конец файла.
а+
Открывает файл на чтение и запись. Если файл не существует, создает новый файл. Новые данные записываются в конец файла.
Во второй нотации аргумент access может содержать набор из флагов, описанных ниже. Среди флагов обязательно должен быть один из следующих: RDONLY, WRONLY или RDWR.
RDONLY
Открывает файл только на чтение.
WRONLY
Открывает файл только на запись
RDWR
Открывает файл на чтение и запись.
APPEND
Переставляет указатель в конец файла перед каждой записью.
CREAT
Создает файл, если он не существует. Без этого флага попытка открыть несуществующий файл приведет к ошибке.
EXCL
Если указан также флаг CREAT, то будет сгенерирована ошибка, если файл уже существует.
NOCTTY
Если файл открыт для терминального устройства, этот флаг не позволяет ему стать управляющим терминалом процесса.
NONBLOCK
Позволяет в неблокирующем режиме открыть файл и, возможно, выполнять в этом режиме последующие операции ввода-вывода. Последствия использования этого флага зависят от платформы и устройства. Предпочтительнее вместо него использовать команду fconfigure.
TRUNC
Если файл существует, то его содержимое удаляется.
Если файл создается при выполнении команды open, то аргумент permissions (целое число) используется для установки прав доступа к вновь созданному файлу. Значение по умолчанию 0666.