The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

strtouq (3)
  • strtouq (3) ( FreeBSD man: Библиотечные вызовы )
  • >> strtouq (3) ( Русские man: Библиотечные вызовы )
  • strtouq (3) ( Linux man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    strtoul, strtoull - конвертирует строку в беззнаковое целое число (unsigned long integer)  

    СИНТАКСИС

    #include <stdlib.h>
    
    unsigned long int
    strtoul(const char *nptr, char **endptr, int base);
    
    unsigned long long int
    strtoull(const char *nptr, char **endptr, int base);
    
     

    ОПИСАНИЕ

    Функция strtoul() конвертирует начальную часть строки nptr в беззнаковое целое число в зависимости от системы исчисления base, которая должна иметь значения от 2-х до 36-х включительно или специальное значение 0.

    Строка должна начинаться с произвольного количества пустых символов (определяемых при помощи isspace(3)), затем должен идти знак `+' или `-' (если есть). Если base равно нулю или 16-и, то строка может начинаться с приставки `0x', что означает использование шестнадцатеричной системы исчисления; иначе, если base равно нулю, используется десятичная система счисления, кроме случая, когда последующий символ также равен `0': тогда используется восьмеричная система исчисления.

    Остаток строки, таким образом, конвертируется в беззнаковое целое число. Этот процесс останавливается, если в строке встречается некорректное значение (например, не соответствующая системе исчисления цифра). Символ `A' в верхнем или нижнем регистре означает 10, `B' означает 11 и так далее (до `Z', означающей 35).

    Если значение endptr не NULL, то strtol() записывает адрес первого некорректного значения в *endptr. Если в строке вообще нет цифр, то strtol() сохраняет начальное значение nptr в *endptr (и возвращает 0). Соответственно, если *nptr не равно `\0', а **endptr равно `\0' по возвращении, то вся строка состоит из корректных символов.

    Функция strtoull() работает так же, как и strtoul(), но возвращает целое число типа unsigned long long int.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    Функция strtol() возвращает результат преобразования, либо, если был указан знак минуса, возвращается абсолютное значение результата преобразования. Если абсолютное значение вызовет "переполнение", то strtol() возвращает ULONG_MAX, а переменной errno присваивается значение ERANGE. То же самое относится к strtoull(), (только вместо ULONG_MAX возвращаетс ULLONG_MAX).  

    НАЙДЕННЫЕ ОШИБКИ

    ERANGE
    данная строка не входит в обрабатываемый диапазон чисел.
    EINVAL
    (не включено в C99) Аргумент base содержит неподдерживаемое значение.

    Некоторые реализации могут также устанавливать errno в EINVAL в случае, когда преобразование не было выполнено (не было встречено цифр и возвращен 0).  

    ЗАМЕЧАНИЯ

    В локалях, отличных от локали "C", могут приниматься и другие строки.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    Функция strtoul() соответствует SVID 3, BSD 4.3, ISO 9899 (C99) и POSIX, а функция strtoull() соответствует ISO 9899 (C99) и POSIX-2001.  

    СМ. ТАКЖЕ

    atof(3), atoi(3), atol(3), strtod(3), strtol(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    ЗАМЕЧАНИЯ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру