strtol

From Wikipédia
Jump to navigation Jump to search

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[edit | edit source]

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[edit | edit source]

Referências

  1. «strtol(3) - Linux man page». Linux Documentation. Consultado em 2 de fevereiro de 2010