CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
frexp
FREXP #include <math.h> double frext(x,expptr); double x; значение с плавающей точкой. int *expptr; указатель на целую экспоненту. Описание: Функция frexp разрывает значение с плавающей точкой x на мантиссу m и экспоненту n, так что абсолютное значение m больше или равно 0.5 и меньше 10 и x равен m, умноженную на 2 в степени n. Целое значение экспоненты n хранится в расположении, указанном по expptr. Возвращаемое значение: Функция frext возвращает мантиссу m. Если x равен 0, функ- ция возвращает 0 для мантиссы и экспоненты. Возвращаемого значе- ния в случае ошибки нет. См.также ldex, modf. Пример. #include <math.h> double x,y; int n; . . . x = 16.4; /* y будет равен .5125, n будет равно 5 */ y = frexp(x,&n); FSCANF. #include <stdio.h> int fscanf (stream, format-string [, argument ...]); FILE *stream; указатель на структуру FILE. char *format-string; строка управления форматом. Описание: Функция fscanf считывает данные из текущей позиции потока stream в место, определяемое заданием аргументов arguments (если они есть). Каждый аргумент должен быть указателем на переменную и тип, которые соответствуют типу, заданному в строке формата. Строка формата управляет интерпретацией полей ввода и имеет ту же самую форму и назначение, что и аргумент строки формата для функции scanf. (Описание функции scanf приводится ниже в данной части ру- ководства). Возвращаемое значение: Данная функция возвращает число удачно преобразованных и правильно назначенных полей. Возвращаемое значение не включает полей, прочитанных, но не назначенных. При попытке считывания конца файла возвращается значение EOF. Возвращаемое значение 0 обозначает, что нет назначенных полей. См. также cscanf, fprintf, scanf, sscanf. Пример. #include <stdio.h> FILE *stream; long l; float fp; char s[81]; char c; stream = fopen ("data", "r"); . . . /* ввод различных данных */ fscanf (stream, "%s", s); fscanf (stream, "%c", &c); fscanf (stream, "%ld", &l); fscanf (stream, "%f", &fp);. FSEEK. #include <stdio.h> int fseek (stream, offset, origin); FILE *stream; указатель на структуру FILE. long offset; число байтов от origin. int origin; начальная позиция. Описание: Функция fseek перемещает указатель, соответствующий потоку stream, на новое место расположения, отстоящее от origin на offset байтов. Следующая операция в потоке выполняется над новым месторасположением. Если поток открыт для обновления, то следующей операцией будет либо чтение, либо запись. Аргумент origin может быть одной из следующих констант, оп- ределенных в <stdio.h>. ORIGIN ОПРЕДЕЛЕНИЕ (источник, начало) SEEK-SET начало файла. SEEK-CUR текущая позиция указателя на файл. SEEK-END конец файла. Функция fseek используется для перемещения указателя в лю- бое место файла. Указатель может быть также размещен за концом файла. Однако, попытка расположить указатель до начала файла приведет к ошибке. Возвращаемое значение: Функция fseek возвращает значение 0, если указатель успешно перемещен. В случае ошибки возвращается любое ненулевое значе- ние. Для устройств, не совместимых с операцией seek, (таких как терминал и печать), возвращаемое значение неопределено. См. также ftell, lseek, rewind. Замечание! Для потоков, открытых в текстовом (преобразую- щем) режиме, применение fseek является ограниченным, т.к. комби- нации ВК - ПС могут стать причиной выработки непредвиденного ре- зультата. Ниже приведены операции (действия) fseek, гарантирующие ра- боту с потоками, открытыми в текстовом режиме: * смещение origin на величину offset, равную нулю; * смещение от начала файла на значение offset, полученное после вызова функции ftell. Пример. #include <stdio.h> FILE *stream; int result; stream = fopen("data", "r"); . . . /* следущий оператор возвращает указатель на файл к началу файла */ result = fseek(stream, 0L, SEEK_SET);.