CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
freopen
FREOPEN #include <stdio.h> FILE *freopen (pathname, type, stream); char *pathname; path-имя нового файла. char *type; разрешенный тип доступа. FILE *stream; указатель на структуру FILE. Описание: Функция freopen закрывает текущий файл, связанный с потоком stream, и переназначает этот поток в файл, определяемый path-име- нем. Эта функция обычно применяется для переадресации предоткры- тых потоков stdin, stdout, stderr, stdaux, stdprn в файлы, опре- деляемые пользователем. Новый файл, связанный с потоком, открыва- ется в режиме type, который определен следующим образом: ТИП ОПИСАНИЕ "r" открыть файл для чтения.(Этот файл должен существовать). "w" открыть пустой файл для записи; если этот файл ранее существовал, его содержимое уничтожается. "a" открыть файл для записи (добавления) в конец. Если данного файла нет, то вначале он создается. "r+" открыть файл одновременно для чтения и записи. Файл должен существовать. "w+" открыть пустой файл для чтения и записи. Если этот файл ранее существовал, его сожержимое уничтожается. "a+" открыть файл для чтения и добавления. Если файла нет, вначале он создается. Замечание! Нужно внимательно применять режимы "w", "w+", так как они могут уничтожить существующие файлы. Если файл открыт при помощи типа "a" или "a+", все операции записи выполняются в конец файла. При использовании функций fseek или rewind возможно перепозиционирование указателя на файл; нес- мотря на это, указатель на файл перед выполнением любых операций записи всегда возвращается в конец файла. Таким образом, сущест- вующие данные не будут перезаписаны. При использовании типов "r+', "w+", "a+" допускается одновременно чтение и запись. (Гово- рится, что файл открывается для обновления). Поэтому при перек- лючении чтения на запись и наоборот нужно использовать функции fseek или rewind. Для функции fseek (при необходимости) может быть точно определена текущая позиция. Дополнительно к значениям, описанным выше, может быть до- бавлен в строке type один из следующих символов, чтобы специфици- ровать способ преобразования символа новой строки. Символ Значение t открыть в текстовом (преобразующем) режиме; при вводе комбинация "Возврат каретки - перевод строки" преобразовывается к единственному символу "перевода строки". При выводе символ перевода строки преобразовывается в комбинацию ВК-ПС. b открыть в двоичном (непреобразующем) режиме; выше описанные преобразования не осуществляются. Если t или b в строке type не задается, режим преобразова- ния определяется переменной _fmode и режимом, устанавливаемым по умолчанию. Возвращаемое значение: Функция freopen возвращает указатель на вновь открытый файл. Если возникла ошибка, прежний файл закрывается и функция возвращает значение указателя NULL. См. также fclose, fcloseall, fdopen, fileno, fopen, open, setmode. Пример. #include <stdio.h> FILE *stream; . . . /* следующий оператор закрывает поток stdout и переназнача- ет этот поток указателю потока. */ stream = freopen ("data2", "w+", stdout);.
Оставить комментарий
Комментарии
1.
+1 / -0
14 декабря 2009, 16:48:00
/* следующий оператор закрывает поток stdout и переназначает этот поток указателю потока. */
stream = freopen ("data2", "w+", stdout);
Вопрос:
а как вернуть stdout обратно на экран??? =)
stream = freopen ("data2", "w+", stdout);
Вопрос:
а как вернуть stdout обратно на экран??? =)