Descrição
A função da biblioteca C long int strtol(const char *str, char **endptr, int base) converte a parte inicial da string em str para um long int valor de acordo com o dado base, que deve estar entre 2 e 36 inclusive, ou ser o valor especial 0.
Declaração
A seguir está a declaração da função strtol ().
long int strtol(const char *str, char **endptr, int base)
Parâmetros
str - Esta é a string que contém a representação de um número inteiro.
endptr- Esta é a referência a um objeto do tipo char *, cujo valor é definido pela função para o próximo caractere em str após o valor numérico.
base - Esta é a base, que deve estar entre 2 e 36 inclusive, ou ser o valor especial 0.
Valor de retorno
Esta função retorna o número integral convertido como um valor inteiro longo, caso contrário, o valor zero é retornado.
Exemplo
O exemplo a seguir mostra o uso da função strtol ().
#include <stdio.h>
#include <stdlib.h>
int main () {
char str[30] = "2030300 This is test";
char *ptr;
long ret;
ret = strtol(str, &ptr, 10);
printf("The number(unsigned long integer) is %ld\n", ret);
printf("String part is |%s|", ptr);
return(0);
}
Vamos compilar e executar o programa acima que produzirá o seguinte resultado -
The number(unsigned long integer) is 2030300
String part is | This is test|