stoi() est une fonction de bibliothèque standard qui transforme une chaîne en entier. Les programmeurs C++ utilisent la fonction, qui signifie chaîne en entier, pour obtenir des entiers à partir de chaînes. De plus, la fonction stoi() peut supprimer d'autres composants, tels que les lettres de fin de la chaîne.
Syntaxe:
int stoi (string s, size_t* position = 0, int base = 10)>
Paramètres:
- La chaîne qui doit être transformée est le premier paramètre.
- Emplacement d'un entier utilisé pour suivre le nombre de caractères lus. Dans ce scénario, il n'est pas utilisé si ce paramètre est un pointeur nul.
- Le troisième et dernier paramètre est la base. Le format de la séquence détermine la base utilisée si celle-ci est 0. Elle utilise la base 10 (décimale) si aucun argument n'est passé.
Exemples:
Saisir: 1NonProgrammeur ;
Sortir: 1
Saisir : BonjourMonde54;
Sortir : terminate appelé après avoir lancé une instance de 'std::invalid_argument'
Explication: Cela génère une erreur car si le premier caractère n'est pas un nombre entier, la fonction stoi() se termine
qu'est-ce que c'estSaisir : Vous disposez d'un clavier ;
Sortir : terminate appelé après avoir lancé une instance de 'std::invalid_argument'
quoi() : se tient
Type de retour : La valeur de chaîne d'un argument passé au debout() la fonction est renvoyée sous forme d’entier.
Comment ça fonctionne?
La fonction stoi(), qui accepte une chaîne comme argument, peut convertir le composant entier d'une chaîne en un type entier. Il ne prendra en compte que les valeurs entières jusqu'au premier élément non entier ou à la fin de la chaîne.
Lorsque nous exécutons le programme ci-dessous, une erreur sera produite lors de l'exécution. Cela est dû au fait que la fonction stoi() arrête de parcourir la chaîne lorsqu'elle rencontre un caractère non entier ou un espace blanc. La fonction stoi() se termine si le caractère initial n'est pas un entier.
Exemple:
C++
bash longueur de chaîne
// C++ Program to convert> // string into integer> // Using stoi function> // Error occurred> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string s =>'GeeksForGeeks 1'>;> >// calling stoi() passing string as parameter.> >int> n = stoi(s);> >cout << n;> }> |
>
>
chiffres alphabétiques
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>
Cela donne une erreur car la fonction stoi() rencontre un caractère d'espacement avant 1.
Exemple:
C++
// C++ Program to convert> // string into integer> // Using stoi> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string str =>'2009, techcodeview.com_founded'>;> >string str1 =>'0x6C1'>;> >string str2 =>'-10010010101'>;> >// Calling stoi() for all strings.> >int> num = stoi(str);> >int> num_hex = stoi(str1, nullptr, 16);> >int> num_bin = stoi(str2, nullptr, 2);> >// printing converted values> >cout << str <<>': '> << num << endl;> >cout << str1 <<>': '> << num_hex << endl;> >cout << str2 <<>': '> << num_bin << endl;> >return> 0;> }> |
>
>Sortir
2009, techcodeview.com_founded: 2009 0x6C1: 1729 -10010010101: -1173>
Complexité temporelle : O(n) // n est la longueur de la chaîne.
java longueur du tableau
Espace auxiliaire : O(1)