Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
freopen----------------------------------------------------------------- Назначение Заменяет поток. Синтаксис #include FILE *freopen(const char *filename, const char *type, FILE *stream); Прототип в stdio.h Замечания freopen заменяет открытый поток stream имено- ванным файлом. Исходный stream закрывается не зависимо от того, успешно ли состоялось откры- тие замененного файла или нет. freopen полезна для замены файла, stdin, stdout или stderr. Тип строки type, используемый при вызове freeopen, может принимать одно из следующих значений: r Открыть только для чтения w Создать для записи a Добавление; открыть для записи в ко- нец файла или создать для записи, если файл не существует r+ Открыть существующий файл для изме- нения (запись и чтение) w+ Создать новый файл для изменения a+ Открыть для добавления; открыть (или создать, если файл не существует) для добавления в конец файла. Для задания того, что файл открыт или создан в текстовом режиме, вы можете добавить t к значе- нию type (rt, w+t, и т.д.); аналогично для за- дания двоичного режима вы должны добавить b к значению type (wb, a+b, и т.д.). Если t или b в type не заданы - режим определя- ется значением глобальной переменной _fmode. Если _fmode установлена в O_BINARY, то файлы будут открыты в двоичном режиме. Если _fmode установлена в O_TEXT - файлы будут открыты в текстовом режиме. Эти константы определены в файле fcntl.h. Когда файл открыт для изменения, в результирую- щий поток может быть произведен как ввод, так и вывод. Однако вывод не может сразу следовать за вводом без запроса fseek или rewind, как и ввод не может сразу следовать за выводом без запроса fseek или rewind, или ввода, который встречает конец файла. Возвращаемое При успешном завершении freeopen возвращает значение аргумент stream. В случае ошибки - возвращает NULL. Переносимость freeopen доступна в системах UNIX и совместима с ANSI Си. Смотри также fclose, fdopen, fopen, open, setmode Пример Смотри fopen ----------------------------------------------------------------- frexp----------------------------------------------------------------- Назначение Расщепляет число типа double на мантиссу и по- казатель. Синтаксис #include double frexp(double x,int *exponent); Прототип в math.h Замечания frexp - вычисляет мантиссу m (число типа double, большее или равное 0.5 и меньшее 1) и целое число n такое, что x = m * 2**n. frexp размещает n по адресу exponent. Возвращаемое frexp возвращает мантиссу m. значение Переносимость frexp доступна в системах UNIX и совместима с ANSI Си. Смотри также exp, ldexp ----------------------------------------------------------------- fscanf----------------------------------------------------------------- Назначение Выполняет форматированный ввод из потока. Синтаксис #include int fscanf(FILE *stream, const char *format, [,adr ,...]); Прототип в stdio.h Замечания fscanf сканирует символы с консоли. Затем пре- образует считанные символы в соответствии с форматом, заданным в строке формата, определяе- мой указателем format. Затем преобразованные данные размещаются по адресу (адресам), пере- данным в качестве параметров функции fscanf, и, наконец, выводит вводимые символы на консоль. Число задаваемых в строке форматов должно сов- падать с количеством адресов, переданных функ- ции. Описание используемых форматов приведены в опи- сании функции scanf. fscanf может прекратить сканирование символов до того как достигнет конца файла при обнаруже- ние белого поля (пробел, табуляция и т. п.) или вообще завершиться по целому ряду причин. Смот- ри описание функции scanf для более детального ознакомления. Возвращаемое fscanf возвращает количество отсканированных значение символов, успешно преобразованных и размещенных по соответствующим адресам. При достижении конца файла fscanf вернет EOF. Если ни одного значения не было размещено fscanf вернет 0 . Переносимость fcanf доступна в UNIX системах, она определена Керниганом и Ричи. Данная функция совместима с ANSI Си. Смотри также atof, cscanf, fprintf, printf, scanf, sscanf, vscanf, vsscanf ----------------------------------------------------------------- |