Fonction de bibliothèque C - strtol ()

La description

La fonction de bibliothèque C long int strtol(const char *str, char **endptr, int base) convertit la partie initiale de la chaîne en str à un long int valeur selon la donnée base, qui doit être compris entre 2 et 36 inclus, ou être la valeur spéciale 0.

Déclaration

Voici la déclaration de la fonction strtol ().

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

Paramètres

  • str - Il s'agit de la chaîne contenant la représentation d'un nombre entier.

  • endptr- Il s'agit de la référence à un objet de type char *, dont la valeur est définie par la fonction sur le caractère suivant de str après la valeur numérique.

  • base - Il s'agit de la base, qui doit être comprise entre 2 et 36 inclus, ou être la valeur spéciale 0.

Valeur de retour

Cette fonction renvoie le nombre entier converti sous la forme d'une valeur int longue, sinon la valeur zéro est renvoyée.

Exemple

L'exemple suivant montre l'utilisation de la fonction 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);
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant -

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