Partilhar via


strtol, wcstol, _strtol_l, _wcstol_l

Converte seqüências para um valor inteiro longo.

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
);

Parâmetros

  • nptr
    Seqüência terminada por caractere nulo para converter.

  • endptr
    Ponteiro para o caractere que interrompe a varredura.

  • base
    Número base a ser usado.

  • locale
    Localidade usar.

Valor de retorno

strtol Retorna o valor representado na seqüência de caracteres nptr, exceto quando a representação poderia causar um estouro de capacidade, que nesse caso retorna LONG_MAX ou LONG_MIN. strtol Retorna 0 se nenhuma conversão pode ser executada. wcstol Retorna valores analogously para strtol. Para ambas as funções, errno é definido como ERANGE Se ocorrer estouro ou estouro negativo.

See _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre esses e outros códigos de retorno.

Comentários

The strtol função converte nptr para um long. strtol Interrompe a leitura a seqüência de caracteres nptr no primeiro caractere que não reconhece sistema autônomo parte de um número. Isso pode ser o caractere nulo de terminação ou pode ser o primeiro caractere numérico maior que ou igual a base.

wcstol é uma versão de caractere largo da strtol; sua nptr argumento é uma seqüência de caracteres largos. Essas funções se comportam exatamente caso contrário.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tcstol

strtol

strtol

wcstol

_tcstol_l

_strtol_l

_strtol_l

_wcstol_l

LC_NUMERIC categoria determina o reconhecimento do caractere fracionário nptr*;* para obter mais informações, consulte setlocale.As funções sem o _l usar o sufixo a localidade corrente; _strtol_l e _wcstol_l são idênticas às funções correspondentes sem a _l sufixo, exceto pelo fato de que eles usam a localidade do passado em vez disso. For more information, see Localidade.

If endptr não é NULL, um ponteiro para o caractere que parou a verificação é armazenado no local apontado pelo endptr. Se nenhuma conversão pode ser executada (nenhum dígito válido foi encontrado ou uma base inválido foi especificada), o valor de nptr é armazenado na posição apontada por endptr.

strtol espera nptr para apontar para uma seqüência de caracteres de forma a seguir:

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

A whitespace pode consistir em caracteres de espaço e guia, que são ignorados digits são um ou mais dígitos Decimal. O primeiro caractere que não cabe neste formulário interrompe a varredura.If base está entre 2 e 36, em seguida, é usada sistema autônomo a base do número. If base é 0, os caracteres iniciais da seqüência de caracteres apontada por nptr são usados para determinar a base. Se o primeiro caractere é 0 e o segundo caractere não é 'x' ou 'X', a seqüência de caracteres será interpretada sistema autônomo um inteiro octal; caso contrário, ele é interpretado sistema autônomo um número decimal.Se o primeiro caractere é '0' e o segundo caractere será 'x' ou 'X', a seqüência de caracteres é interpretada sistema autônomo um inteiro hexadecimal.Se o primeiro caractere é ' 1 ' através de ' 9 ', a seqüência de caracteres será interpretada sistema autônomo um número inteiro decimal.As letras 'a 'a' z' (ou 'A' a 'Z') é atribuída os valores de 10 a 35; apenas letras cujos valores atribuídos têm menos de base são permitidos.

Requisitos

Rotina

Cabeçalho necessário

strtol

<stdlib.h>

wcstol

<stdlib.h> ou <wchar.h>

_strtol_l

<stdlib.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

Consulte o exemplo para strtod.

Equivalente do NET Framework

sistema::converter::ToInt64

Consulte também

Referência

Conversão de Dados

Localidade

localeconv

setlocale, _wsetlocale

Seqüência de caracteres para funções de valor numérico

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l