Maison > Article > développement back-end > Programme C++ pour convertir une variable de type int en chaîne
Les variables de type entier en C++ peuvent stocker des valeurs entières positives ou négatives dans une plage prédéfinie. Les variables de chaîne peuvent stocker des séquences de lettres, de chiffres et de caractères spéciaux. Il existe de nombreux cas d'utilisation où la conversion de int en chaîne est requise. Nous discutons de 3 manières différentes de convertir une variable entière en chaîne.
Si on parle d’algorithmes, c’est très simple. Nous obtenons l'entrée dans une variable entière et la convertissons en variable chaîne.
Le moyen le plus simple de convertir une valeur entière en chaîne en C++ est d'utiliser la fonction to_string. La fonction to_string est disponible par défaut ; elle accepte une valeur entière en entrée et fournit une valeur de chaîne en sortie. Regardons l'exemple suivant pour mieux comprendre ce concept.
int ip = <integer value>; string op = std::to_string(ip);
#include <iostream> using namespace std; string solve(int ip) { //using the to_string function return to_string(ip); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " + op << endl; return 0; }
The input value is: 10 The output value is: 10
Dans cet exemple, nous utilisons la fonction to_string pour convertir une valeur entière en chaîne. Une chose à noter lors de l'affichage de la sortie : nous utilisons l'opérateur d'insertion (
ostringstream est un tampon de chaîne contenant une séquence de caractères. Dans cette méthode, nous saisissons la valeur entière dans l'objet ostringstream, puis la formatons en chaîne.
int ip = <integer value>; ostringstream oss; oss << ip; string op = oss.str();
#include <iostream> #include <sstream> using namespace std; string solve(int ip) { //using ostringstream ostringstream oss; oss << ip; return oss.str(); } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
Dans l'exemple précédent, nous avons ajouté une valeur entière de 10 à la valeur d'entrée pour indiquer qu'il s'agit d'une valeur entière, et avons ajouté une chaîne "10" à la valeur de sortie pour indiquer qu'il s'agit d'une valeur de chaîne.
sprintf est une fonction de bibliothèque standard en C++ qui envoie une sortie formatée à la chaîne str. En utilisant la fonction sprintf, nous pouvons convertir un entier en chaîne.
int ip = <integer value>; char str[100]; sprintf(str, "%d", ip); string s = str;
#include <iostream> using namespace std; string solve(int ip) { char str[100]; sprintf(str, "%d", ip); string s = str; return s; } int main() { int ip = 10; string op = solve(ip); cout<< "The input value after addition of 10 is: " << ip + 10 << endl; cout<< "The output value after addition of 10 is: " << op + "10" << endl; return 0; }
The input value after addition of 10 is: 20 The output value after addition of 10 is: 1010
Cet exemple est similaire à l'exemple précédent, la seule différence est la méthode de conversion. Pour utiliser sprintf, nous n'avons pas besoin d'importer d'autres bibliothèques.
Nous pouvons avoir besoin de convertir des entiers en chaînes à plusieurs reprises, principalement pour générer des données à partir de calculs à l'aide de fonctions qui ne prennent en charge que les arguments de chaîne. La première méthode dont nous avons parlé est la plus simple, mais elle est disponible à partir de C++ 11. La deuxième méthode utilisant ostringstream nécessite l'importation d'une autre bibliothèque sstream, tandis que la dernière méthode utilisant sprintf nécessite un tampon de caractère auxiliaire ou de chaîne pour convertir la valeur entière en chaîne. Le moyen le plus rapide est le premier, mais si cela ne fonctionne pas à cause d'un compilateur obsolète, les deux autres devraient fonctionner.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!