Função da biblioteca C - strtol ()

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|