Maison  >  Article  >  développement back-end  >  Programme C++ pour convertir une variable de type int en chaîne

Programme C++ pour convertir une variable de type int en chaîne

PHPz
PHPzavant
2023-09-03 22:05:033818parcourir

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.

Utilisez la fonction to_string

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.

Grammaire

int ip = <integer value>;
string op = std::to_string(ip);

Algorithme

  • Obtenez une entrée dans une variable entière.
  • Utilisez la fonction to_string pour convertir une valeur entière en chaîne et la stocker dans une variable de chaîne.
  • Afficher les résultats.

Exemple

#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;
}

Sortie

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 (

Utilisez ostringstream

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.

Grammaire

int ip = <integer value>;
ostringstream oss;
oss << ip;
string op = oss.str();

Algorithme

  • Obtenez une entrée dans une variable entière.
  • Passez la variable entière d'entrée à l'objet ostringstream.
  • Attribuez la représentation sous forme de chaîne de l'objet ostringstream à la variable de sortie chaîne.
  • Afficher les résultats.

Exemple

#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;
}

Sortie

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.

Utilisez sprintf

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.

Grammaire

int ip = <integer value>;
char str[100];
sprintf(str, "%d", ip);
string s = str;

Algorithme

  • Obtenez une entrée dans une variable entière.
  • Transmettez la variable entière d'entrée et le tampon de caractères à la fonction sprintf.
  • Attribuez le tampon de caractères à la variable de chaîne résultante.
  • Afficher les résultats.

Exemple

#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;
}

Sortie

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.

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer