std::stoul, std::stoull
Определено в заголовочном файле <string>
|
||
unsigned long stoul( const std::string& str, size_t *pos = 0, int base = 10 ); |
(1) | (начиная с C++11) |
unsigned long long stoull( const std::string& str, size_t *pos = 0, int base = 10 ); |
(2) | (начиная с C++11) |
Извлекает беззнаковое целое число из строки str
.
Функция отбрасывает пробельные символы до тех пор, пока не будет найден первый непробельный символ. Затем из строки извлекаются символы, необходимые для формирования корректного беззнакового представления целого числа в системе счисления с основанием base и преобразуются в целочисленное значение. Корректное целочисленное значение состоит из следующих частей:
- (необязательно) префикс (
0
), указывающий на то, что используется восьмеричная система счисления (применяется только в случае, когда base равен 8) - (необязательно) префикс (
0x
или0X
), указывающий на то, что используется шестнадцатеричная система счисления (применяется только в случае, когда base равен 16) - последовательность цифр
Набором корректных цифр для целочисленного значения в двоичной системе счисления является 01
, для троичной 012
, и так далее. Для оснований больше, чем 10
, набор корректных цифр дополняется символами латинского алфавита, начиная с Aa
для системы счисления с основанием 11, до Zz
для системы счисления с основанием 36. Регистр символов значения не имеет.
Индекс первого непреобразованного символа сохраняется в pos. Если в качестве pos передан NULL, параметр игнорируется.
Содержание |
[править] Параметры
str | - | строка для преобразования |
pos | - | адрес переменной целочисленного типа для сохранения в ней индекса первого непреобразованного символа |
base | - | основание системы счисления |
[править] Возвращаемое значение
Строка, преобразованная в указанный беззнаковый целочисленный тип.
[править] Исключения
- std::invalid_argument, если преобразование не может быть выполнено
- std::out_of_range, если преобразованное значение будет выходить за границы диапазона значений типа результата
[править] См. также
(C++11) (C++11) (C++11) |
преобразует строку в знаковое целое число (функция) |
(C++11) (C++11) (C++11) |
преобразует строку в число с плавающей точкой (функция) |