Comment convertir une chaîne (string) en int (entier) en C++

Lorsque vous codez en C++, vous devez parfois convertir un type de données en un autre.

Cet article présentera deux méthodes couramment utilisées pour convertir des chaînes en entiers à l'aide de C++.

Avant d’apprendre les méthodes, vous devez d’abord comprendre les types de données du C++.

1. Types de données en C++

Le langage de programmation C++ possède certains types de données intégrés :

  • int, pour les entiers (par exemple 10, 150)
  • double, pour les nombres à virgule flottante (par exemple 5.0, 4.5)
  • char, pour un seul caractère (par exemple "D", "!")
  • string, pour les séquences de caractères (par exemple "Bonjour")
  • bool, pour les valeurs booléennes (vrai ou faux)

C++ est un langage de programmation fortement typé , ce qui signifie que lorsque vous créez une variable, vous devez déclarer explicitement quel type de valeur y sera stocké.

2. Comment convertir une chaîne en entier

Méthode 1 : utilisez la fonction stoi() pour convertir la chaîne en entier. Il s'agit d'une approche valide et fonctionne avec les versions plus récentes de C++, introduites à partir de C++11. Il accepte une chaîne en entrée et renvoie sa forme entière en sortie.

#include <iostream>
#include <string>
using namespace std;

int main() {
   string str = "7";
   cout << "我是一个字符串 " << str << endl;

   int num = stoi(str);
   
   cout << "我是一个整数 " << num << endl;
}

Résultat de sortie :

je suis une chaîne 7

je suis un entier 7

Méthode 2 : utilisez la classe stringstream pour convertir la chaîne en entier. Cette approche fonctionne principalement avec les anciennes versions de C++. Il le fait en entrant et en sortant des chaînes.

Tout d'abord, vous devez ajouter #include <sstream> en haut du programme pour inclure la bibliothèque sstream.

Créez ensuite un objet stringstream contenant la valeur de la chaîne que vous souhaitez convertir en entier et utilisez-le lors de la conversion.

Vous pouvez utiliser <<des opérateurs pour extraire des chaînes de variables de chaîne.

Enfin, >>la valeur int nouvellement convertie est saisie dans la variable int à l'aide de l'opérateur.

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {
   stringstream ss; 
   string str = "7";
   int num;
   
   ss << str;
   ss >> num;
   
   cout << num << endl;
}

Maintenant que vous connaissez deux façons simples de convertir une chaîne en entier en C++, vous pouvez en essayer d’autres.

Je suppose que tu aimes

Origine blog.csdn.net/sschara01/article/details/132188827
conseillé
Classement