Справочник по C/C++
Функции преобразования целого формата

В версии С99 добавлен ряд специализированных функций преобразования целочисленного формата, которые позволяют преобразовывать целые значения максимальной длины. Эти функции поддерживает заголовок <inttypes.h>, который включает заголовок <stdint.h>. Заголовок <inttypes.h> определяет один тип: структуру imaxdiv_t, которая хранит значение, возвращаемое функцией imaxdiv(). Ниже перечислены функции преобразования целых значений.

Функция Описание
intmax_t imaxabs(intmax_t arg); Возвращает абсолютное значение параметра arg
imaxdiv_t imaxdiv(intmax_t numerator, intmax_t denominator); Возвращает структуру imaxdiv_t, которая содержит результат numerator/denominator (числитель/знаменатель). Частное занимает поле quot, а остаток - поле rem. Как поле quot, так и поле rem имеют тип intmax_t
intmax_t strtoimax(const char * restrict start, char ** restrict end, int base); Версия функции strtol() для целочисленных параметров максимальной длины
uintmax_t strtoumax(const char * restrict start, char ** restrict end, int base); Версия функции strtoul() для целочисленных параметров максимальной длины
intmax_t wcstoimax(const char * restrict start, char ** restrict end, int base); Версия функции wcstol() для целочисленных параметров максимальной длины
uintmax_t wcstoumax(const char * restrict start, char ** restrict end, int base); Версия функции wcstoul() для целочисленных параметров максимальной длины

В заголовке <inttypes.h> также определено множество макросов, которые можно использовать в вызовах функций семейств printf() и scanf() для задания различных целочисленных преобразований. Макросы функции printf() начинаются с префикса PRI, а макросы функции scanf() - с префикса SCN. За этими префиксами стоит такой спецификатор преобразования, как d или и, затем следует имя типа (например, N, MAX, PTR, PASTM или LEASTN, где N задает количество битов). Точный список поддерживаемых макросов преобразования лучше всего узнать, обратившись к соответствующей документации на используемый вами компилятор.



Реклама