mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

FOPEN(3S)                                             FOPEN(3S)

НАЗВАНИЕ 
        fopen, freopen, fdopen - открыть поток

СИНТАКСИС 
        #include 
        
        FILE *fopen (filename, type)
        char *filename, *type;
        
        FILE *freopen (filename, type, stream)
        char *filename, *type;
        FILE *stream;
        
        FILE *fdopen (fildes, type)
        int fildes;
        char *type;

ОПИСАНИЕ 
        Функция fopen открывает файл с именем filename, ассоци-
        ирует с ним поток и возвращает указатель  на  структуру
        типа FILE, соответствующую этому потоку.

        Аргумент filename является указателем на цепочку симво-
        лов - имя открываемого файла.

        Аргумент type - это указатель на цепочку символов,  ко-
        торая может принимать одно из следующих значений:

        "r"  Открыть на чтение.

        "w"  Опустошить или создать для записи.

        "a"  Добавлять; открыть для записи в  конец  файла  или
             создать для записи.

        "r+" Открыть для изменения (чтения и записи).

        "w+" Опустошить или создать для изменения.

        "a+" Добавлять;  открыть  или  создать  для изменения в
             конце файла.

        Функция freopen подставляет указанный файл вместо ранее
        открытого потока, заданного аргументом stream. Первона-
        чальный поток закрывается независимо от  того,  удалось
        ли  открыть новый файл. Функция freopen возвращает ука-
        затель на структуру типа FILE, ассоциированную с  пото-
        ком.

        Функция  freopen обычно используется для привязки зара-
        нее открытых потоков stdin, stdout и  stderr  к  другим
        файлам.

        Функция  fdopen  ассоциирует поток с дескриптором файла
        fildes, полученным в  результате  выполнения  системных
        вызовов open, dup, creat или pipe(2), которые открывают
        файл,  но  не  возвращают  указатель  на структуру типа
        FILE, описывающую поток. Этот указатель  требуется  для
        идентификации  потока  во  многих библиотечных функциях
        подраздела 3S. Тип потока,  заданный  аргументом  type,
        должен  соответствовать режиму доступа к открытому фай-
        лу.

        Если файл открывается для обновления, то к результирую-
        щему потоку применимы операции как ввода, так и вывода.
        Однако операция ввода не может  непосредственно  следо-
        вать  за операцией вывода, без промежуточного использо-
        вания функций fseek или rewind, а  операция  вывода  не
        может  непосредственно следовать за операцией ввода без
        промежуточного использования функций fseek, rewind  или
        операции ввода, достигающей конца файла.

        Если  файл открывается для добавления (то есть тип type
        равен "a" или "a+"), то невозможно изменить информацию,
        уже содержащуюся в файле. Функция fseek может использо-
        ваться для перемещения указателя файла в любую его  по-
        зицию, но при операции записи указатель текущей позиции
        файла  игнорируется. Вся выводимая информация записыва-
        ется в конец файла и указатель текущей позиции  переме-
        щается  на конец записываемых данных. Если два процесса
        открывают один и тот же файл для добавления, то  каждый
        процесс  может  писать в файл без риска разрушить вывод
        другого процесса. Данные, записываемые двумя  процесса-
        ми,  будут  перемежаться в файле в порядке их поступле-
        ния.

СМ. ТАКЖЕ 
        creat(2),   dup(2),   open(2),   pipe(2),   fclose(3S),
        fseek(3S), stdio(3S).

ДИАГНОСТИКА 
        В случае ошибки функции fopen, fdopen и freopen возвра-
        щают пустой указатель NULL.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк