fdopen

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

 Синтаксис          #include
                    FILE * fdopen(int handle, char * type);

 Файл, содержащий   stdio.h
 прототип

 Описание           Функция fdopen связывает поток с дескриптором,
                    полученным функциями creat, dup, dup2 или open.
                    Тип потока должен совпадать с режимом, в котором
                    был открыт handle.

                    Символьная строка type имеет одно из следующих
                    значений:

                    r - открытие файла только для чтения;

                    w - создание файла для записи;

                    а - присоединение; открытие для записи в конец
                        файла или создание для записи, если файл не
                        существует;

                    r+ - открытие существующего файла для обновления
                         (чтения и записи);

                    w+ - создание нового файла для изменения;

                    a+ - открытие для присоединения; открытие (или
                         создание, если файл не существует) для обнов-
                         ления в конец файла.

                    Если данный файл открывается или создается в текс-
                    товом режиме, вы можете приписать символ t к зна-
                    чению параметра type (rt, w+t, и т.д.); аналогич-
                    но, для спецификации бинарного режима вы можете к
                    значению параметра type добавить символ b (wb,a+b,
                    и т.д.).

                    Если в параметре type отсутствуют символы t или b,
                    режим будет определяться глобальной переменной
                    _fmode. Если переменная _fmode имеет значение
                    O_BINARY, файлы будут открываться в бинарном режи-
                    ме, иначе, если _fmode имеет значение O_TEXT, фай-
                    лы открываются в текстовом режиме. Данные констан-
                    ты O_... определены в файле fcntl.h.

                    При открытии файла в режиме обновления (UPDATE),
                    над результирующим потоком stream могут быть
                    выполнены как операции ввода, так и вывода.
                    Тем не менее вывод не может следовать непосредст-
                    венно за вводом без вмешательства функций fseek
                    или rewind. Также ввод, без применения функций
                    fseek, rewind не может непосредственно следовать
                    за выводом или вводом, который встречает конец
                    файла (EOF).

 Возвращаемое       При успешном завершении fdopen  возвращает
 значение           заново открытый поток stream. В случае ошибки,
                    функция возвращают ноль (NULL).

 Переносимость      fdopen поддерживаeтся на системах UNIX.

 Смотрите также     Функции  fclose freopen fopen opene

 Пример:

 #include
 #include 
 #include 
 #include

 int main(void)
 {
    int handle;
    FILE *stream;

    /* открыть файл */
    handle = open("DUMMY.FIL", O_CREAT, S_IREAD|S_IWRITE);

    /* теперь преобразуем его в поток */
    stream = fdopen(handle, "w");
    if (stream == NULL)
       printf("Ошибка fdopen\n");
    else {
       fprintf(stream, "Hello, world\n");
       fclose(stream);
    }
    return 0;
 }