logo

Convertir une chaîne en entier en C++

Cette section abordera les différentes méthodes pour convertir les données de chaîne données en un entier à l'aide du langage de programmation C++. Il existe certaines situations ou instances dans lesquelles nous devons convertir certaines données en un autre type, et l'une de ces situations consiste à convertir une chaîne en données int dans la programmation.

Par exemple, nous avons une chaîne numérique comme ' 143 ', et nous voulons le convertir en un type numérique. Nous devons utiliser une fonction qui convertit une chaîne en entier et renvoie les données numériques sous la forme 143. Nous allons maintenant apprendre chaque méthode permettant de convertir les données de chaîne en entiers dans le langage de programmation C++.

Convertir une chaîne en entier en C++

Différentes méthodes pour convertir les données de chaîne en entiers dans le langage de programmation C++.

  1. Utilisation de la classe stringstream
  2. Utiliser la fonction stoi()
  3. Utiliser la fonction atoi()
  4. Utilisation de la fonction sscanf()

Utilisation de la classe stringstream

Le flux de chaînes est une classe utilisée pour convertir une chaîne numérique en type int. La classe stringstream déclare un objet stream pour insérer une chaîne en tant qu'objet stream, puis extrait les données entières converties en fonction des flux. La classe stringstream a des opérateurs '<>', qui sont utilisés pour récupérer les données de l'opérateur gauche (<>).

Créons un programme pour démontrer la classe stringstream permettant de convertir les données de chaîne en un entier dans le langage de programmation C++.

suppression d'un arbre de recherche binaire

Programme1.cpp

 #include #include // use stringstream class using namespace std; int main() { string str1 = &apos;143&apos;; // declare a string int intdata; // declare integer variable /* use stringstream class to declare a stream object to insert a string and then fetch as integer type data. */ stringstream obj; obj &lt;&gt; intdata; // fetch integer type data cout &lt;&lt; &apos; The string value is: &apos; &lt;&lt; str1 &lt;&lt; endl; cout &lt;&lt; &apos; The representation of the string to integer type data is: &apos; &lt;&lt; intdata &lt;&lt; endl; return 0; } 

Sortir

 The string value is: 143 The representation of the string to integer type data is: 143 

Dans le programme ci-dessus, nous utilisons la classe stringstream pour créer un objet obj, et cela permet de convertir les données de chaîne en un entier. Nous utilisons ensuite l'opérateur '<>' pour extraire la chaîne convertie de obj en données numériques.

Utilisation de la fonction sscanf()

Une fonction sscanf() convertit une chaîne donnée en un type de données spécifié comme un entier.

flotter en chaîne

Syntaxe

 sccanf ( str, %d, &amp;intvar); 

La fonction sscanf() a trois arguments pour spécifier la chaîne de caractères (str), le spécificateur de données (%d) et la variable entière (&intvar) pour stocker la chaîne convertie.

Algorithme de la fonction sscanf()

  1. La fonction sscanf() appartient à la classe stringstream, nous devons donc importer la classe dans notre programme.
  2. Initialise une chaîne de caractères constante str.
  3. Créez une variable entière pour contenir la chaîne convertie en valeurs entières.
  4. Passez la variable chaîne dans la fonction sscanf() et affectez la fonction sscanf() à la variable entière pour stocker la valeur entière générée par la fonction.
  5. Imprimez les valeurs entières.

Prenons un exemple d'utilisation de la fonction sscanf() pour convertir la chaîne en nombre numérique en C++.

Programme2.cpp

 #include #include // use stringstream class using namespace std; int main () { // declare the character strings const char *str1 = &apos;555&apos;; const char *str2 = &apos;143&apos;; const char *str3 = &apos;101&apos;; // declare the integer variables int numdata1; int numdata2; int numdata3; /* use sscanf() function and to pass the character string str1, and an integer variable to hold the string. */ sscanf (str1, &apos;%d&apos;, &amp;numdata1); cout &lt;<' the value of character string is: ' << str1; cout '
 representation to int numdata1 <<endl; sscanf (str2, '%d', &numdata2); <<'
 str2; numdata2 (str3, &numdata3); str3; numdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The value of the character string is: 555 The representation of string to int value of numdata is: 555 The value of the character string is: 143 The representation of string to int value of numdata is: 143 The value of the character string is: 101 The representation of string to int value of numdata is: 101 </pre> <h3>Using the stoi() function</h3> <p>The stoi() function converts a string data to an integer type by passing the string as a parameter to return an integer value.</p> <p> <strong>Syntax</strong> </p> <pre> stoi(str); </pre> <p>The stoi() function contains an str argument. The str string is passed inside the stoi() function to convert string data into an integer value.</p> <p> <strong>Algorithm of the stoi() function</strong> </p> <ol class="points"> <li>Initialize the string variable to store string values.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the stoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the stoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program3.cpp</strong> </p> <pre> #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer using stoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer value using atoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;></pre></'>

Utiliser la fonction stoi()

La fonction stoi() convertit une chaîne de données en un type entier en passant la chaîne en paramètre pour renvoyer une valeur entière.

Syntaxe

 stoi(str); 

La fonction stoi() contient un argument str. La chaîne str est passée dans la fonction stoi() pour convertir les données de chaîne en une valeur entière.

Algorithme de la fonction stoi()

numéro java à chaîne
  1. Initialisez la variable chaîne pour stocker les valeurs de chaîne.
  2. Après cela, il crée une variable de type entier qui stocke la conversion de la chaîne en données de type entier à l'aide de la fonction stoi().
  3. Imprimez la valeur de la variable entière.

Créons un programme pour utiliser la fonction stoi() pour convertir la valeur de chaîne en type entier dans le langage de programmation C++.

Programme3.cpp

 #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer using stoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;>

Utiliser la fonction atoi()

Une fonction atoi() permet de convertir la chaîne de caractères en valeur entière. Une fonction atoi() transmet la chaîne de type de caractère pour renvoyer les données entières.

Syntaxe

 atoi (const char *str); 

Algorithme de la fonction atoi()

  1. Initialisez un tableau de caractères de type pointeur pour stocker une chaîne.
  2. Après cela, il crée une variable de type entier qui stocke la conversion de la chaîne en données de type entier à l'aide de la fonction atoi().
  3. Imprimez la valeur de la variable entière.

Créons un programme pour utiliser la fonction atoi() pour convertir la valeur de chaîne en type entier dans le langage de programmation C++.

Programme4.cpp

 #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;>