Встроенные команды Т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.
Hosted by uCoz