C ++ atol () - Bibliothèque standard C ++

La fonction atol () en C ++ interprète le contenu d'une chaîne et renvoie sa valeur entière correspondante.

atol () Prototype

 long int atol (const char * str);

Il est défini dans le fichier d'en-tête.

La fonction atol () prend string comme paramètre, interprète son contenu comme un nombre entier et renvoie la valeur correspondante dans long int.

Paramètres atol ()

  • str - Une chaîne ayant la représentation d'un nombre entier.

atol () Valeur de retour

La fonction atol () renvoie:

  • une long intvaleur (qui est convertie à partir de la chaîne).
  • 0 si aucune conversion valide n'a pu être effectuée.

Si la valeur convertie est en dehors de la plage, cela provoque un comportement indéfini.

Exemple 1: Comment fonctionne la fonction atol ()?

 #include #include using namespace std; int main() ( char s() = "-114"; double number; cout << "Number in String = " << s << endl; number = atol(s); cout << "Number in Long Int = " << number; return 0; ) 

Lorsque vous exécutez le programme, la sortie sera:

 Nombre en chaîne = -114 Nombre en long Int = -114

Une valeur entière valide pour la fonction atol () se compose d'un signe + ou - optionnel suivi de chiffres numériques (0-9) . La fonction atol () ne prend pas en charge l'hexadécimal, l'infini et les NaNexpressions comme la fonction atof ().

En général, un argument entier valide pour la fonction atol () a la forme suivante:

 (espace) (- | +) (chiffres)

La fonction atol () ignore tous les caractères d'espacement de tête jusqu'à ce que le caractère non blanc principal soit trouvé.

Ensuite, à partir de ce caractère, il prend autant de caractères que possible pour former une représentation entière valide et les convertit en une valeur int longue. Ce qui reste de la chaîne après le dernier caractère valide est ignoré et n'a aucun effet sur le résultat.

Exemple 2: fonction atol () avec espaces et caractères de fin

 #include #include using namespace std; int main() ( cout << "Number in String = " << " 13" << endl; cout << "Number in Long Int = " << atol(" 13") << endl << endl; cout << "Number in String = " << " 25 " << endl; cout << "Number in Long Int = " << atol(" 25 ") << endl << endl; cout << "Number in String = " << "41.90abcd" << endl; cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl; // Returns 0 because of invalid conversion cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl; return 0; )

Lorsque vous exécutez le programme, la sortie sera:

 Number in String = 13 Number in Long Int = 13 Number in String = 25 Number in Long Int = 25 Number in String = 41.90abcd Number in Long Int = 41 abcd14 to Long Int = 0

Articles intéressants...