Funzione di libreria C - strtol ()

Descrizione

La funzione di libreria C. long int strtol(const char *str, char **endptr, int base) converte la parte iniziale della stringa in str ad un long int valore secondo il dato base, che deve essere compreso tra 2 e 36 inclusi o il valore speciale 0.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione strtol ().

long int strtol(const char *str, char **endptr, int base)

Parametri

  • str - Questa è la stringa contenente la rappresentazione di un numero intero.

  • endptr- Questo è il riferimento a un oggetto di tipo char *, il cui valore è impostato dalla funzione al carattere successivo in str dopo il valore numerico.

  • base - Questa è la base, che deve essere compresa tra 2 e 36 inclusi, oppure il valore speciale 0.

Valore di ritorno

Questa funzione restituisce il numero intero convertito come valore int lungo, altrimenti viene restituito il valore zero.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

The number(unsigned long integer) is 2030300
String part is | This is test|