strtol – Wikipédia, a enciclopédia livre
strtol é em computação uma função da linguagem de programação C da biblioteca stdlib.h
que realiza conversão de strings representando números inteiros para números inteiros. Está presente desde o padrão ANSI C C89 e foi criado como uma alternativa a função atoi, possibilitando detecção de erros.
Uso
[editar | editar código-fonte]Este é o protótipo da função[1]:
long int strtol(const char *nptr, char **endptr, int base);
Onde o parâmetro nptr
é um ponteiro para a string que se deseja converter composto por dígitos formados pelos números entre 0 e 9 e letras de A até Z. base
é a base numérica que a representação em string utiliza no intervalo entre 2 e 36. endptr
é uma referência a um ponteiro para string onde será armazenada a posição seguinte ao último caractere da string utilizado na conversão.
O valor de retorno é um número inteiro longo convertido a partir da string. Caso nenhum caractere na string possibilite conversão é retornado o valor zero e o valor de errno
é alterado para EINVAL
.
Existe também a função strtoll
que recebe os mesmos argumentos e comporta-se do mesmo modo, porém o valor de retorno é do tipo long long int
:
long long int strtoll(const char *nptr, char **endptr, int base);
Ver também
[editar | editar código-fonte]Referências
- ↑ «strtol(3) - Linux man page». Linux Documentation. Consultado em 2 de fevereiro de 2010