C ++ est l'un des langages de programmation les plus populaires et les plus anciens utilisés pour le développement d'applications haute performance. Il est utilisé parmi les programmeurs très experts et les développeurs novices. Il est principalement utilisé dans le développement de jeux et est une option idéale pour développer des systèmes d'exploitation. Lorsque vous écrivez du code dans la langue C ++, vous pouvez rencontrer des données de conversion d'un type à un autre. Dans cet article, vous apprendrez à convertir une chaîne en un entier long. Il est assez difficile de convertir une chaîne en n'importe quel autre format. Cependant, le langage de programmation C ++ offre un moyen rapide et efficace de convertir les chaînes en entiers.
Fonction stol en c++
Le stol est une fonction intégrée C ++ fournie dans la bibliothèque std. Il convertit les chaînes en nombres entiers longs. Il convertit le contenu de la chaîne en un nombre entier de la base spécifiée et renvoie une longue valeur entière. Il prend trois paramètres, l'un est la chaîne d'entrée, la seconde est le paramètre de l'objet, et le troisième est la base numérique. La syntaxe de la fonction STOL est donnée ci-dessous, jetez un œil:
La fonction STOL prend trois paramètres: Input_string, taille et base. Le «Input_string» représente la chaîne d'entrée qui doit être convertie en un numéro entier long.
Le paramètre «taille» représente l'objet de type size_t qui porte la position de caractères suivante dans la chaîne d'entrée après la valeur numérique. Il peut s'agir d'un pointeur nul s'il n'est pas nécessaire d'utiliser.
Le troisième paramètre, le paramètre «base» représente la base dans laquelle la chaîne doit être interprétée. Par exemple, si la base «2» est donnée, la chaîne sera interprétée comme le numéro de base 2 entier. La valeur par défaut du paramètre de base est 10 et si 0 est fourni, la valeur de base sera déterminée par le format dans la séquence. La fonction stol renvoie le numéro entier long représentant la valeur int d'une chaîne donnée.
Maintenant, explorons quelques exemples pour comprendre comment fonctionne la fonction STOL en C++.
Exemple 1
Dans cet exemple, nous fournirons des cordes décimales et hexadécimales pour vérifier comment la fonction STOL les convertit en chiffres décimaux et hexadécimaux.
Le «dec = 123456789» est une chaîne décimale et convertie en un entier long en utilisant la fonction stol stol (dec, & size). Notez que la base n'est pas fournie dans la fonction en tant que paramètre d'entrée qui, comme résultat, utilise la base par défaut 10 pour convertir la chaîne en un numéro décimal. Cependant, pour convertir la chaîne d'un numéro hexadécimal en un nombre décimal, la base 16 est fournie comme le paramètre d'entrée Stol (Hex, Nullptr, 16). Comme nous le savons, la base 16 représente un numéro hexadécimal.
#inclure
#inclure
#inclure
int main ()
std :: string dec = "123456789";
std :: string hex = "a2bf3c";
std :: string :: size_type size;
long lidec = std :: stol (dec, & size);
long lihex = std :: stol (hex, nullptr, 16);
std :: cout << "Input decimal string "<std :: cout << "Input hexadecimal string "< retour 0;
Voici la sortie suivante. Notez que la chaîne décimale «123456789» s'est convertie en «123456789» en entier long. Alors que la chaîne hexadécimale «A2BF3C» s'est convertie en numéro hexadécimal «10665788». Voici les étapes requises que vous pouvez suivre pour savoir comment la conversion est effectuée par la fonction STOL:
(A2bf3c) ₁₆ = (10 × 16⁵) + (2 × 16⁴) + (11 × 16³) + (15 × 16²) + (3 × 16¹) + (12 × 16⁰) = (10665788) ₁₀
Exemple n ° 2
Dans cet exemple, nous convertirons un numéro binaire en utilisant la fonction stol. Voyons le code ci-dessous et comprenons le fonctionnement du code. Le «1010110110» est donné lorsque la chaîne d'entrée et la base 2 sont fournies sous forme de paramètre de base d'entrée stol (bac, & size, 2), représentant le nombre au format binaire. La fonction STOL convertira le numéro binaire en un numéro décimal en suivant ces étapes:
(1010110110) ₂ = (1 × 2⁹) + (0 × 2⁸) + (1 × 2⁷) + (0 × 2⁶) + (1 × 2⁵) + (1 × 2⁴) + (0 × 2³) + (1 × 2²) + (1 × 2¹) + (0 × 2⁰) = (694) ₁₀
#inclure
#inclure
#inclure
int main ()
std :: string bin = "1010110110";
std :: string :: size_type size;
Long libin = std :: stol (bin, & size, 2);
std :: cout << "Input binary string "<retour 0;
Comme vous pouvez le voir que la fonction STOL a rendu le même résultat que le processus de conversion binaire général à décimal l'a fait.
Exemple n ° 3
Dans cet exemple, nous allons voir ce qui se passe si nous testons la fonction STOL avec une entrée non valide. Une chaîne de plusieurs caractères sera fournie à la fonction STOL et 0 sera fournie comme valeur de base afin que la fonction déterminera automatiquement la base de la chaîne. Voici le code:
Un ensemble de caractères est fourni en tant que chaîne d'entrée qui n'est déterminée par aucune valeur de base, i.e., 10, 16, 2, etc. Ainsi, la fonction renvoie une valeur d'erreur.
#inclure
#inclure
#inclure
int main ()
std :: string chr = "abcdefgh";
std :: string :: size_type size;
long str = std :: stol (chr, nullptr, 0);
std :: cout << "Input character string "<retour 0;
Voir la sortie ci-dessous. Notez que le compilateur a soulevé une exception «invalid_argument» car la fonction ne s'adresse pas aux chaînes qui ne peuvent pas être déterminées avec une valeur de base.
Exemple n ° 4
Dans cet exemple, nous fournirons une combinaison d'une entrée valide et non valide pour voir le résultat de la fonction stol ().
La chaîne d'entrée est une combinaison de caractères valides et non valides, "123xf25". L'ISG «0» fourni sous la base d'une base d'entrée afin que la fonction détermine automatiquement la base de la chaîne d'entrée en fonction du type de caractères.
#inclure
#inclure
#inclure
int main ()
std :: string chr = "123xf25";
std :: string :: size_type size;
long str = std :: stol (chr, nullptr, 0);
std :: cout << "Input string "<retour 0;
Voici la sortie qui montre le fonctionnement de la fonction STOL avec une combinaison d'une entrée valide et non valide:
Notez que la fonction a converti le «123» en numéro décimal «123» et a jeté le reste de la chaîne car il a reçu une entrée non valide «x». La chaîne après le caractère «x» n'est pas convertie par la fonction stol, ne renvoyant que les premiers caractères de la chaîne comme long int.
Conclusion
Dans cet article, nous avons exploré la fonction STOL du langage de programmation C ++. Avec l'aide de quelques exemples utiles et simples, nous avons appris comment la fonction STOL fonctionne avec différents types d'entrées. La fonction STOL prend trois paramètres, la chaîne d'entrée qui doit être convertie, un paramètre de taille qui représente la position de la fonction dans la chaîne et la valeur de base qui représente la base de la chaîne d'entrée. Il renvoie la valeur int longue de la chaîne d'entrée.