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 обратно на экран??? =)
