Описание нестандартных функций библиотеки C — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Описание нестандартных функций библиотеки C

2022-10-05 29
Описание нестандартных функций библиотеки C 0.00 из 5.00 0 оценок
Заказать работу

Константы

6.3.1.1 Файловые константы

Стоит отметить, что пользоваться такими флагами можно только посредством низкоуровневых функций работы с окружением. Флаги _O_SEQUENTIAL и _O_RANDOM используются как «подсказки» библиотеке для оптимизации доступа к жесткому диску.

_O_RDONLY

Файл открыт только на чтение.

_O_WRONLY

Файл открыт только для записи.

_O_RDWR

Файл открыт для чтения и записи.

_O_APPEND

Каждый раз при записи, передвигает указатель в конец файла.

_O_CREAT

Создать и открыть файл.

_O_TRUNC

Открыть и удалить содержимое. Необходимо разрешение на запись в файл, при совместном использовании с _O_CREAT открывает существующий, или создает новый файл.

_O_EXCL

Открывает только в том случае, если файла не существует.

_O_TEXT

Открывает файл в текстовом режиме.

_O_BINARY

Открывает файл в бинарном режиме.

_O_NOINHERIT

Дочерний процесс не наследует файл.

_O_TEMPORARY

Временный файл. Файл уничтожается, когда уничтожается последний файловый дескриптор. Используется вместе с _O_CREAT.

_O_SHORT_LIVED

Создается временный файл, из которого по возможности не пишут на диск. Используется вместе с _O_CREAT.

_O_SEQUENTIAL

Доступ к данным файла происходит последовательно.

_O_RANDOM

В отличие от предыдущего флага, этот явно говорит о произвольности доступа к данным.


 

6.3.1.2 Поля структуры _fstat

Описание полей структуры _fstst приведено в таблице 6.3.

Таблица 6.3 - Описание полей _fstat

Поле Описание
st_atime Время последнего обращения к файлу.
st_ctime Время создания файла.
st_dev Значение 0 соответствует дисковому файлу. Если файл является устройством, то переменная принимает значение дескриптора этого файла.
st_mode Битовая маска.
st_mtime Время последней модификации файла.
st_nlink Всегда 1 на файловых системах отличающихся от NTFS.
st_rdev Значение 0 соответствует дисковому файлу. Если файл является устройством, то переменная принимает значение дескриптора этого файла.
st_size Размер файла в байтах.

6.3.1.3 Константы неопределенностей

Некоторые функции и операции с типами с плавающей точкой могут возвращать следующие специальные значения (без скобок указано имя для типа double, в скобках - для типа float; соответствующие значения различны, но имеют одинаковый смысл для этих типов). О функциях работы с этими константами см. Раздел 6.3.6, «Функции индикации специальных значений чисел с плавающей точкой».

_dqnan (_fqnan)

NaN (Not a Number) – не число. Например, 0/0 или ∞/∞.

_dsignan (_fsignan)

signaling NaN – сигналящее не число. При использовании вызывает (raise) соответствующий сигнал.

_dposinf (_fposinf)

INF (INFinity) – положительная бесконечность. Например, 1/0

_dneginf (_fneginf)

INF (INFinity) – отрицательная бесконечность. Например, -1/0


 

Функции работы с окружением

Все функции являются низкоуровневыми аналогами функций работы с файлами из стандартной библиотеки. Например, функция _open() аналог функции fopen() из стандартной библиотеки, а функция _close() аналог fclose() и так далее.

6.3.2.1 _open

Открытие файла:

Функция Заголовочный файл
_open __replace.h

Заголовок:

_HANDLE _open ( fileName,  
  oflags);  

 

const char* fileName;
unsigned oflags;

Описание:

Функция _open открывает файл, указанный в fileName . Способ открытия файла указывается в параметре oflags . Возможные флаги перечислены в главе Раздел 4.3.1.1, «Файловые константы».

Возврат:

Функция возвращает дескриптор файла. В случае ошибки возвращается нуль.

Пример:

#include <stdlib.h>#include <stdio.h>#include <__replace.h>#include <malloc.h>  char buf[120];  int main(){ _HANDLE fh; size_t nbytes = 100, bytesread; /* Файл read.c открывается на чтение */ if ((fh = _open("read.c", _O_RDONLY|_O_TEXT)) == -1) { perror("open failed on input file"); exit(1); } /* В случае успешного открытия, из файла считывается bytesread байт */ if ((bytesread = _read(fh, buf, nbytes)) <= 0) perror("Problem reading file"); else // выводиться реальное количество считанных байт     printf("Read %u bytes from file\n", bytesread); _close(fh); }                                                       

Также см.:

Раздел 6.3.2.2, «_close» Раздел 6.3.2.3, «_read»

6.3.2.2 _close

Закрытие файла:

Функция Заголовочный файл
_close __replace.h

Заголовок:

void _close ( file);  

 

_HANDLE file;

Описание:

Функция _close закрывает поток. Перед закрытием сбрасываются все буферы, связанные с этим потоком. В качестве аргумента принимает дескриптор файла.

Возврат:

Возвращаемое значение – 0 в случае неудачи, при этом errno принимает значение EBADF В случае успеха возвращается не нулевое значение.

Пример:

см. пример для Раздел 6.3.2.1, «_open»

Также см.:

Раздел 6.3.2.1, «_open»

6.3.2.3 _read

Чтение из файла:

Функция Заголовочный файл
_read __replace.h

Заголовок:

size_t _read ( file,  
  buf,  
  size);  

 

_HANDLE file;
void* buf;
size_t size;

 


Описание:

Функция _read считывает из файла file в буфер buf не больше size байт. Чтение начинается с байта, на который указывает файловый указатель. После чтения файловый указатель находится на следующем не считанном байте.

Возврат:

Возвращаемое значение – число прочитанных байт, которое может быть меньше, чем указанное в size . В случае ошибки функция вернет -1.

Пример:

см. пример для Раздел 4.3.2.1, «_open»

Также см.:

Раздел 6.3.2.1, «_open» Раздел 4.3.2.4, «_write»

6.3.2.4 _write

Запись в файл:

Функция Заголовочный файл
_write __replace.h

Заголовок:

size_t _write ( file,  
  buf,  
  size);  

 

_HANDLE file;
void* buf;
size_t size;

Описание:

Функция _write записывает в файл file данные, считанные из буфера buf . В файл записывается не больше size байт.

Возврат:

Возвращаемое значение – число записанных байт, которое может быть меньше, чем указанное в size . В случае ошибки функция вернет -1.

Пример:

#include <stdio.h>#include <stdlib.h>#include <__replace.h> char buffer[] = "This is a test of '_write' function"; int main(){ int fh; unsigned byteswritten; if((fh = _open("write.o", _O_RDWR | _O_CREAT))!= -1) { if((byteswritten = _write(fh,                           buffer, sizeof(buffer))) == -1)   perror("Write failed"); else   printf("Wrote %u bytes to file\n", byteswritten); _flush(fh); _close(fh); }}

Результат:

Wrote 36 bytes to file

Также см.:

Раздел 6.3.2.1, «_open» Раздел 6.3.2.3, «_read»

6.3.2.5 _flush

Сброс содержимого буфера в файл.

Функция Заголовочный файл
_flush __replace.h

Заголовок:

int _flush ( file);  

 

_HANDLE file;

Описание:

Функция _flush очищает содержимое буфера файла, записывая информацию на диск. В качестве аргумента принимает дескриптор файла file .

Возврат:

В случае успеха возвращается не нулевое значение.

Пример:

см. пример для Раздел 6.3.2.4, «_write»

Также см.:

Раздел 6.3.2.2, «_close»

6.3.2.6 _getpos

Получить значение индикатора текущей позиции файла:

Функция Заголовочный файл
_getpos __replace.h

Заголовок:

int _getpos ( file,  
  pos);  

 

_HANDLE file;
fpos_t* pos;

Описание:

Функция _getpos получает значение индикатора текущей позиции файла file , в объекте, на который указывает второй аргумент pos . Полученное значение содержит значение, которое использует функция _setpos при обратном позиционировании для позиционирования на сохранённую позицию.

Возврат:

Возвращаемое значение – 0 в случае ошибки, любое положительное число в случае успешного выполнения.

Также см.:

Раздел 6.3.2.7, «_setpos»

6.3.2.7 _setpos

Установить значение индикатора текущей позиции файла:

Функция Заголовочный файл
_setpos __replace.h

Заголовок:

int _setpos ( file,  
  pos);  

 

_HANDLE file;
const fpos_t* pos;

Описание:

Функция _setpos устанавливает значение индикатора текущей позиции файла file , в соответствии с объектом, на который указывает второй аргумент pos . Значение pos должно быть получено предшествующем вызовом функции _getpos. При успешном выполнении функции очищается индикатор конца файла.

Возврат:

Возвращаемое значение – 0 в случае ошибки, любое положительное число в случае успешного выполнения. При успешном выполнении функции очищается индикатор конца файла.

Также см.:

Раздел 6.3.2.6, «_getpos»

6.3.2.8 _rename

Переименовать файл или каталог:

Функция Заголовочный файл
_rename __replace.h

Заголовок:

int _rename ( oldName,  
  newName);  

 

const char* oldName;
const char* newName;

Описание:

Функция _rename переименовывает файл или каталог. Аргументы это старое и новое имена соответственно.

Возврат:

Возвращаемое значение – 0 в случае ошибки, любое положительное число в случае успешного выполнения.

Пример:

#include <stdio.h>#include <__replace.h> void main(void){ int result; char old[] = "main1.c";   char nnew[] = "_main1.c"; /* Attempt to rename file: */ result = _rename(old, nnew); if(result!= 0) printf("Could not rename '%s'\n", old); else printf("File '%s' renamed to '%s'\n", old, nnew);}                                                                                                                 

Результат:

File 'main1.c' renamed to '_main1.c'

Также см.:

Раздел 6.3.2.9, «_remove»

6.3.2.9 _remove

Удалить файл:

Функция Заголовочный файл
_remove __replace.h

Заголовок:

int _remove ( path);  

 

const char* path;

Описание:

Функция _remove удаляет файл.

Возврат:

Возвращаемое значение – 0 в случае успешного выполнения. Если будет попытка удаления файла с атрибутом read-only, функция вернет код ошибки – 1. В случае если путь к файлу не найден функция вернет 2.

Пример:

#include <stdio.h>#include <__replace.h> void main(void){ if(_remove("_main1.c.obj") == -1) perror("Could not delete '_main1.c'"); else printf("Deleted '_main1.c'\n");}                                                              

Результат:

Deleted '_main1.c'

Также см.:

Раздел 6.3.2.8, «_rename»

6.3.2.10 _time

Определить системное время:

Функция Заголовочный файл
_time __replace.h

Заголовок:

time_t _time ( timer);  

 

time* timer;

Описание:

Функция _time определяет календарное время. Результат возвращается в секундах, начиная с 00:00:00 01.01.1970. Если timer не является нулевым указатель, то в объект, на который указывает timer , помещается возвращаемое значение.

Возврат:

Результат возвращается в секундах. Дата может находиться в интервале с 00:00:00, 01 января 1970 до 19:14:07, 18 января 2038.

Также см.:

Раздел 6.3.2.16, «_gmtoffset»

6.3.2.11 _getenv

Получить значение текущей переменной окружения.

Функция Заголовочный файл
_getenv __replace.h

Заголовок:

size_t _getenv ( name,  
  buf,  
  bufsize);  

 

const char* name;
char* buf;
size_t bufsize;

Описание:

Функция _getenv берет значение текущей переменной окружения. В качестве аргументов принимает имя переменной окружения name , буфер buf и размер буфера bufsize , в котором возвращается значение.

Возврат:

Возвращает количество символов, записанных в буфер, 0, если переменная не найдена и -1 в случае ошибки.

6.3.2.12 _terminate

Завершить программу:

Функция Заголовочный файл
_terminate __replace.h

Заголовок:

void _terminate ();
void;

Описание:

Функция _terminate производит низкоуровневые действия по завершению программы.

6.3.2.13 _putchar

Поместить символ в стандартный поток вывода (stdout):

Функция Заголовочный файл
_putchar __replace.h

Заголовок:

int _putchar ( ch);  

 

int ch;

Описание:

Функция _putchar помещает символ в стандартный поток вывода (stdout).

Возврат:

Возвращаемое значение – 0 в случае ошибки, любое положительное число в случае успешного выполнения.

Также см.:

Раздел 6.3.2.14, «_getchar»

6.3.2.14 _getchar

Получить символ из файл:

Функция Заголовочный файл
_getchar __replace.h

Заголовок:

int _getchar ();
void;

Описание:

Функция _getchar возвращает символ из файла. Если достигнут конец файла, функция _getchar возвращает индикатор конца файла.

Возврат:

Возвращаемое значение – 0 в случае ошибки, любое положительное число в случае успешного выполнения.

Также см.:

Раздел 6.3.2.13, «_putchar»

6.3.2.15 _fstat

Получить информацию об открытом файле:

Функция Заголовочный файл
_fstat __replace.h

Заголовок:

int _fstat ( handle,  
  buffer);  

 

_HANDLE handle;
struct _stat* buffer;

Описание:

Функция _fstat предоставляет информацию об открытом файле с дескриптором handle . Информация сохраняется во втором аргументе buffer . Поля структуры _fstat представлены в главе Раздел 4.3.1.2, «Поля структуры _fstat»

Возврат:

Возвращаемое значение 0, в случае успеха. Возвращенная -1 говорит об ошибке, при этом errno принимает значение EBADF

6.3.2.16 _gmtoffset

Получить информацию о часовом поясе:

Функция Заголовочный файл
_gmtoffset __replace.h

Заголовок:

time_t _gmtoffset ();

Возврат:

Функция _gmtoffset возвращает смещение времени относительно Гринвича в секундах. Например, для Москвы смещение равно трем часам. Функция не принимает аргументов.

Также см.:

Раздел 6.3.2.10, «_time»

Дополнительные функции

6.3.3.1 _fopen_userbuf

Открывает файл (так же, как и _fopen) без использования динамической памяти. Спроектирована для использования с отладочными версиями функций работы с динамической памятью.

Функция Заголовочный файл
_fopen_userbuf stdio.h

Заголовок:

FILE *_fopen_userbuf ( fileName,  
  mode,  
  buf,  
  bufsize);  

 

const char * fileName;
const char * mode;
const void * buf;
size_t bufsize;

Описание:

Функция _fopen_userbuf, открывает файл подобно функции fopen, но без использования динамической памяти. Первые два параметра совпадают с параметрами fopen, следующие параметры - это указатель на пользовательский буфер buf , и его размер bufsize . Размер буфера должен быть не меньше размера заголовка файла ( bufsize >= sizeof(FILE)).

Возврат:

Аналогичен возврату _fopen(), за исключением того, что если размер буфера bufsize задан меньше размера заголовка файла sizeof(FILE), то файл не открывается и возвращается NULL.

Пример:

#include <stdio.h>#include <stdlib.h> extern FILE* _debug_malloc_out; int main (){ FILE buf; _debug_malloc_out = _fopen_userbuf ("debug.out",                                   "wt",                                   (const void*)(&buf),                                   sizeof (FILE));     // небуферизованный вывод // работа с памятью _debug_malloc_out = stderr; fclose (&buf);}                                                                      

Также см.:

Раздел 6.3.2.1, «_open»

6.3.3.2 _sys_info

Получить системную информацию:

Функция Заголовочный файл
_sys_info __replace.h

Заголовок:

size_t _sys_info ( operation,  
  buf,  
  bufsize);  

 

int operation;
void * buf;
size_t bufsize;

Описание:

Функция _sys_info позволяет получить системную информацию. operation – числовой код операции, которую необходимо выполнить, buf – пользовательский буфер, в котором при вызове функции должны находиться входные значения и в который функция заносит выходные значения (в зависимости от операции), bufsize – размер буфера.

Режимы работы _sys_info приведены в таблице 6.4.

Таблица 6.4 - Режимы работы _sys_info

Код операции

Значение данных в буфере

На входе в функцию На выходе из функции
_SYS_INFO_GET_STACK Отсутствует Стек вызовов (массив адресов), начиная от функции, вызвавшей _sys_info, до точки входа в программу
_SYS_INFO_GET_FUNNAME Адрес в исполняемом коде Имя функции (неквалифицированное), содержащей данный адрес
_SYS_INFO_GET_COORDS Адрес в исполняемом коде Координаты в исходном коде (строка в формате имя_файла:номер_строки)

Возврат:

Если размер буфера достаточен для помещения в него выходных данных, функция возвращает размер реально записанных данных, если нет – необходимый размер буфера (при этом ничего не записывает в буфер). В случае ошибки (например, buf == NULL при коде операции, подразумевающем входные данные в буфере) возвращается (size_t)(-1).

6.3.3.3 _msize

Определить размер блока динамической памяти:

Функция Заголовочный файл
_msize malloc.h

Заголовок:

size_t _msize ( pH);  

 

const void* pH;

Описание:

Функция _msize возвращает размер блока памяти, выделенной функциями calloc, malloc или realloc. В качестве аргумента ( pH ) принимается указатель на блок памяти.

Возврат:

Функция возвращает размер блока памяти в байтах. В случае ошибки (блок памяти не был выделен или был освобождён) функция возвращает -1.

6.3.3.4 _toupperstr

Преобразовать буквы в заглавные:

Функция Заголовочный файл
_toupperstr ctype.h

Заголовок:

char * _toupperstr ( s);  

 

char* s;

Описание:

Каждая буква строки переводится из строчной в заглавную, если это возможно.

Возврат:

Возвращается строка из заглавных символов.

Также см.:

Раздел 6.3.3.5, «_tolowerstr»

6.3.3.5 _tolowerstr

Преобразовать буквы в строчные:

Функция Заголовочный файл
_tolowerstr ctype.h

Заголовок:

char * _tolowerstr ( s);  

 

char* s;

Описание:

Каждая буква строки переводится из заглавной в строчную, если это возможно.

Возврат:

Возвращается строка из строчных символов.

Также см.:

Раздел 6.3.3.4, «_toupperstr»

6.3.4 Функции преобразования чисел в строки и наоборот

Функции перевода числа в строку, и обратные им – переводящие строку в число. В качестве аргумента передается число, буфер и в некоторых случаях основание (2 <= base <= 36).

Обратное преобразование строки в число происходит с помощью стандартных функций (см. главу 7.20.1.4 стандарта языка С ISO/IEC 9899:1999)

6.3.4.1 _ulltostr, _ultostr, _lltostr и _ltostr

Преобразовать целое число в строку:

Функция Заголовочный файл
_ulltostr stdlib.h
_ultostr stdlib.h
_lltostr stdlib.h
_ltostr stdlib.h

Заголовок:

char* _ulltostr ( s,  
  value,  
  base);  

 

char* s;
unsigned long long value;
int base;
char* _ultostr ( s,  
  value,  
  base);  

 

char* s;
unsigned long value;
int base;

 

char* _lltostr ( s,  
  value,  
  base);  

 

char* s;
long long value;
int base;
char* _ltostr ( s,  
  value,  
  base);  

 

char* s;
long value;
int base;

Описание:

Преобразование целого числа соответствующего типа ( value ) в строку, помещаемую в буфер s . После работы функции в s будет последовательность символов (цифр и латинских букв), представляющая число value в системе счисления base . Аргумент base должен быть больше или равен 2 и меньше или равен 36.

Возврат:

s . Если base выходит за пределы (от 2 до 36 включительно), то содержимое буфера s не изменяется. Если передать NULL в качестве первого аргумента, то возвращается NULL.

Также см.:

Раздел 6.3.4.2, «_lltoa, _ltoa и _itoa» Раздел 4.3.4.3, «_dtoa»

6.3.4.2 _lltoa, _ltoa и _itoa

Преобразовать целое число в строку, используя десятичную систему счисления.

Функция Заголовочный файл
_lltoa stdlib.h
_ltoa stdlib.h
_itoa stdlib.h

Заголовок:

char* _lltoa ( s,  
  value);  

 

char* s;
long long value;
char* _ltoa ( s,  
  value);  

 

char* s;
long value;

 

char* _itoa ( s,  
  value);  

 

char* s;
int value;

Описание:

Преобразование целого числа соответствующего типа value в строку, помещаемую в буфер s . В результате работы функции буфер s будет содержать представление value в десятичной системе счисления.

Возврат:

s

Также см.:

Раздел 6.3.4.1, «_ulltostr, _ultostr, _lltostr и _ltostr» Раздел 6.3.4.3, «_dtoa»

6.3.4.3 _dtoa

Преобразовать вещественное число в строку:

Функция Заголовочный файл
_dtoa stdlib.h

Заголовок:

char* _dtoa ( s,  
  value,  
  precision,  
  eE);  

 

char* s;
double value;
int precision;
char eE;

Описание:

Преобразование вещественного числа value в строку, помещаемую в буфер s . precision – точность (количество знаков после десятичной точки), с которой требуется преобразовать value . Если precision == 0, то по умолчанию после десятичной точки остаётся 6 знаков, если precision == -1, то строка будет содержать либо представление целой части числа (наибольшего целого, не превосходящего данное число), либо (в научной нотации) мантисса будет состоять из одного знака. Аргумент eE показывает, в какую нотацию преобразовывать число - в научную (‘e’ или ‘E’), или в обычное представление числа, в этом случае необходимо передать 0. Если переданный параметр отличен от указанных значений, происходят действия по умолчанию, а именно число преобразуется в научной нотации.

Возврат:

Результатом выполнения функции является число, преобразованное в строку, помещенную в буфер s .

Пример:

#include <stdio.h>#include <stdio.h>#include <stdlib.h> int main(){ char buf[20]; double x = 1.23456e+123;   // преобразуем число в строку, оставляя два знака // после десятичной точки, и выводя его в научной нотации. _dtoa(buf, x, 2, ‘e’); printf(“buf = %s\nx = %.2e\n”, buf, x); return(0);}

Результат:

buf = 1.23e+123x = 1.23e+123

Также см.:

Раздел 6.3.4.1, «_ulltostr, _ultostr, _lltostr и _ltostr» Раздел 6.3.4.2, «_lltoa, _ltoa и _itoa»

6.3.4.4 _fcvt и _ecvt

Преобразовать вещественное число в строку:

Функция Заголовочный файл
_fcvt stdlib.h
_ecvt stdlib.h

Заголовок:

char* _fcvt ( value,  
  precision,  
  dec,  
  sign,  
  buf);  

 

double value;
int precision;
int* dec;
int* sign;
char* buf;
char* _ecvt ( value,  
  precision,  
  dec,  
  sign,  
  buf);  

 

double value;
int precision;
int* dec;
int* sign;
char* buf;

Описание:

Также преобразуют число с плавающей точкой типа double в строку (_fcvt в обычном формате, _ecvt - в научной нотации). Существенным отличием от _dtoa является то, что в буфер buf помещается значение без десятичной точки и знака. Функции принимают следующие аргументы: value , buf и precision — преобразуемое значение, указатель на буфер и точность (количество знаков после десятичной точки), они несут тот же смысл, что и соответствующие аргументы функции _dtoa; по адресам dec и sign записываются параметры значения: позиция десятичной точки от начала строки (может быть положительным, нулём или отрицательным) и знак (0 означает '+', любое другое число — '-') соответственно.

Возврат:

buf

Также см.:

Раздел 6.3.4.3, «_dtoa»

Математические функции

6.3.5.1 _dapproxcmp

Сравнение чисел с плавающей точкой на приближённое равенство.

Функция Заголовочный файл
_dapproxcmp math.h

Заголовок:

int _dapproxcmp ( x1,  
  x0,  
  epsilon);  

 

double x1;
double x0;
double epsilon;

Описание:

Сравнение двух аргументов ( x0 и x1 ) на равенство, с точностью epsilon , что означает: их разность по модулю меньше epsilon .

Возврат:

Возвращает 1 в случае успеха (аргументы равны с заданной точностью), в противном случае возвращает 0.

6.3.5.2 _powExactly

Быстрое возведение в степень:

Функция Заголовочный файл
_powExactly math.h

Заголовок:

double _powExactly ( arg1,  
  arg2);  

 

double arg1;
double arg2;

Описание:

Быстрое возведение в степень работает аналогично функции стандартной библиотеки pow(). Отличительными особенностями являются скорость и точность вычисления.

Возврат:

Полностью аналогично возврату функции pow() стандартной библиотеки.

6.3.5.3 _round

Округление числа:

Функция Заголовочный файл
_round math.h

Заголовок:

double _round ( x,  
  precision);  

 

double x;
int precision;

Описание:

Округление x до precision знаков после десятичной точки. Округление происходит по правилам округления.

Возврат:

Возвращает округленное значение числа. В случае ошибки errno присваивается значение EDOM.

6.3.5.4 hypot

Вычислить гипотенузу:

Функция Заголовочный файл
Hypot math.h

Заголовок:

double hypot ( x,  
  y);  

 

double x;
double y;

Описание:

Находит гипотенузу, пологая аргументы x и y катетами прямоугольного треугольника. Вызов этой функции аналогичен вычислению квадратного корня от суммы квадратов x и y .

Возврат:

Возвращает длину гипотенузы прямоугольного треугольника.


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.245 с.