strtol, wcstol, _strtol_l, _wcstol_l

Преобразования строки в значение длинн-целого числа.

long strtol(
   const char *nptr,
   char **endptr,
   int base 
);
long wcstol(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
long _strtol_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
long _wcstol_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Параметры

  • nptr
    Null-завершенная строка, которую необходимо преобразовать.

  • endptr
    Указатель на символ, который останавливает сканирование.

  • base
    Основание числа, которое необходимо использовать.

  • locale
    Языковой стандарт, который необходимо использовать.

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

strtol возвращает значение, представленное в строке nptr, за исключением того, что если представление вызвало бы переполнение в этом случае он возвращает LONG_MAX OR LONG_MIN.strtol возвращает 0, если преобразование может быть выполнено.wcstol возвращает значения аналогично strtol.Для обеих функций errno равно ERANGE если переполнения или потери значимости.

См. _doserrno, errno, _sys_errlist и _sys_nerr дополнительные сведения об этих и других кодах возврата.

Заметки

strtol функции преобразования nptr к a long.strtol останавливает считать строку nptr с первого символа не удается распознать как часть номера.Это может быть конечный нуль-символом или может быть первым числовым символом больше или равно base.

wcstol версия расширенных символов strtol; сво nptr аргумент строка символов.Эти функции ведут себя идентично в противном случае.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_tcstol

strtol

strtol

wcstol

_tcstol_l

_strtol_l

_strtol_l

_wcstol_l

Текущий языковой стандарт LC_NUMERICпараметр определяет распознавание корневой в категории символов nptr; дополнительные сведения см. в разделе setlocale.Функции без _l использование суффикса текущий языковой стандарт. _strtol_l и _wcstol_l идентичны соответствующим функциям без _l суффикс за исключением того, что они используют языковой стандарт переданный.Дополнительные сведения см. в разделе Языковой стандарт.

If endptr нет NULLуказатель к символу, который был остановлен просмотр хранятся в расположении, указанном в by endptr.Если преобразование может быть выполнено (нет допустимого числа не найдены или недопустимое основание было указано), то значение nptr хранит в расположении, указанном в которой следуют endptr.

strtol ожидается nptr указывать в строке, имеет следующую форму:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

A whitespace может включать в себя пробелы и знаки табуляции, игнорируются; digits один или несколько десятичные разряды.Первый символ, который не по размеру эта форма останавливает сканирование.If base между 2 и 36, то она используется в качестве основы числа.If base 0 начальные символы строки заданной к которым следуют nptr позволяет указать базу.Если первый символ 0, а второй символ не является "x" или "x", строка интерпретируется как восьмеричное целое число. в противном случае она интерпретируется как десятичное число.Если первый символ "0", а второй буквой "x" или "x", строка интерпретируется как шестнадцатеричное целое число.Если первый символ "1" до "9", строка интерпретируется как десятичное целое число.Присвоено письмам" до "z" (или от "a" до "Z") значения от 10 до 35; только буквы которых присвоили значения меньше base позвольте.

Требования

Процедура

Обязательный заголовок

strtol

<stdlib.h>

wcstol

<stdlib.h> OR <wchar.h>

_strtol_l

<stdlib.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

См. пример strtod.

Эквивалент в .NET Framework

System:: Преобразование:: ToInt64

См. также

Ссылки

Преобразование данных

Языковой стандарт

localeconv

setlocale, _wsetlocale

Строка числового значения к функциям

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l