strtol, strtoll
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Defined in header <stdlib.h>
|
||
long strtol( const char *str, char **str_end, int base ); |
||
long long strtoll( const char *str, char **str_end, int base ); |
(начиная с C99) | |
str
.str
.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Пропускаются все пробельные символы (которые определяются таковыми с помощью вызова функции isspace()
), до тех пор пока не встретится первый символ другого типа, затем берётся как можно больше символов, которые формируют корректную запись целочисленного числа в n-системе счисления (где n = base) , и конвертирует её в значение нужного типа. Корректная запись целого числа состоит из следующих частей:
- (необязательно) знак плюса или минуса
- (необязательно) префикс (
0
), который обозначает использование 8-ричной системы счисления (применимо только тогда, когда base равен 8 или 0) - (необязательно) префикс (
0x
или0X
), который обозначает использование 16-ричной системы счисления (применимо только тогда, когда base равен 16 или 0) - последовательность цифр.
Допустимый набор цифр для 2-ричной системы счисления - 01
, для 3-ичной - 012
и так далее, начиная с 11-ричной системы счисления в диапазон допустимых цифр входят латинские буквы от Aa
до Zz
для 36-ричной системы счисления. В этом случае регистр букв не имеет значения.
Дополнительные форматы для чисел могут применяться, используя региональные параметры Си.
Если значение base равно 0, то система счисления автоматически определяется: если присутствует префикс 0
, то она 8-ричная, если 0x
или 0X
, то 16-ричная, иначе 10-ричная.
Если знак минуса был частью входной последовательности, то числовое значение вычисляется, путём применения к числу из последовательности цифр операции унарного минуса.
str_end
чтобы она указывала на символ после последнего символа интерпретируются. Если str_end
является NULL, он игнорируется.str_end
to point to the character past the last character interpreted. If str_end
is NULL, it is ignored.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
str
пуст или не иметь ожидаемого форму, преобразование не выполняется, и (если str_end
не NULL) значение str
хранится в объекте, на который указывает str_end
.str
is empty or does not have the expected form, no conversion is performed, and (if str_end
is not NULL) the value of str
is stored in the object pointed to by str_end
.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Параметры
str | — | указатель с нулевым байтом строки должны интерпретироваться
Оригинал: pointer to the null-terminated byte string to be interpreted Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
str_end | — | Указатель на указатель на символ .
Оригинал: pointer to a pointer to character. Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
base | — | ' Из базы интерпретировать целое значение
Оригинал: base of the interpreted integer value Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Возвращаемое значение
- В случае успеха, целое значение, соответствующее содержание
str
возвращается.Оригинал:If successful, an integer value corresponding to the contents ofstr
is returned.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. - Если преобразованное значение выпадает из диапазона соответствующий тип возвращения, диапазон ошибки (настройка [[cpp/error/errno|errno]] в ERANGE) и LONG_MAX, LONG_MIN, LLONG_MAX или LLONG_MIN возвращается.Оригинал:If the converted value falls out of range of corresponding return type, a range error occurs (setting [[cpp/error/errno|errno]] to ERANGE) and LONG_MAX, LONG_MIN, LLONG_MAX or LLONG_MIN is returned.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. - Если преобразование не может быть выполнено, 0 возвращается.Оригинал:If no conversion can be performed, 0 is returned.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Этот раздел не завершён Причина: нет примера |
[править] См. также
конвертирует однобайтовую строку в целочисленное значение (функция) | |
конвертирует однобайтовую строку в беззнаковое целочисленное значение (функция) | |
C++ documentation для strtol, strtoll
|