strtoul(), strtoull()

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

Прототип:

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

Аргументы:

ptr
Указатель на анализируемую строку.
endptr
Если данный аргумент не равен NULL, функция сохранит в эту переменную первый найденный непреобразуемый символ строки.
base
База (основание, система счисления) анализируемого числа (подробнее см. в описании функций strtol(), strtoll())

Библиотека:

libc

Описание:

Функции strtoul() и strtoull() конвертируют строку ptr в объект типа unsigned long и unsigned long long соответственно.

Эти функции распознают строки, которые содержат следующее:

Конвертирование прекращается при обнаружении первого непреобразуемого символа. Если endptr не равно NULL, то указатель на первый такой символ будет сохранен в переменной, на которую уазывает endptr.

Возвращаемое значение:

Сконвертированное значение.

Если корректные символы в строке приводят к переполнению значения, функция вернет ULONG_MAX ||ULONGLONG_MAX и установит errno в ERANGE. Если base вне допустимого диапазона, функция вернет 0 и установит errno в EINVAL.

Примеры:

#include <stdlib.h>
int main( void )
{
unsigned long int v;
v = strtoul( "12345678", NULL, 10 );
return (EXIT_SUCCESS);
}

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

atoi(), atol(), errno, itoa(), ltoa(), sscanf(), strtol(), ultoa(), utoa()




Предыдущий раздел: Описание API системной библиотеки