Comment ajouter une entrée à une chaîne de caractères en C++

Jinku Hu 12 octobre 2023
  1. Utilisez l’opérateur += et la fonction std::to_string pour ajouter un entier à une chaîne de caractères
  2. Utilisez std::stringstream pour ajouter Int à la chaîne
  3. Utilisez la méthode append() pour ajouter l’int à la chaîne
Comment ajouter une entrée à une chaîne de caractères en C++

Cet article explique plusieurs méthodes pour ajouter un nombre entier à une chaîne de caractères en C++.

Utilisez l’opérateur += et la fonction std::to_string pour ajouter un entier à une chaîne de caractères

La classe std::string supporte la forme la plus courante de concaténation en utilisant les opérateurs de base comme + et +=. Dans l’exemple suivant, nous démontrons cette dernière puisque c’est la solution la plus éloquente. Avant que la valeur int ne soit ajoutée à la fin de la chaîne, la valeur int doit être convertie dans le même type, qui est implémenté avec l’appel de fonction std::to_string.

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;

  cout << app_str << endl;
  app_str += to_string(number);
  cout << app_str << endl;

  return EXIT_SUCCESS;
}

Production :

This string will be appended to
This string will be appended to 12345

La méthode ci-dessus est également compatible avec les nombres à virgule float, comme le montre l’exemple de code suivant :

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  float fnumber = 12.345;

  cout << app_str << endl;
  app_str += to_string(fnumber);
  cout << app_str << endl;

  return EXIT_SUCCESS;
}

Production :

This string will be appended to
This string will be appended to 12.345000

Utilisez std::stringstream pour ajouter Int à la chaîne

Le stringstream peut ingérer plusieurs types d’entrée et les stocker sous forme de chaîne de caractères. Il fournit des opérateurs faciles à utiliser et des méthodes intégrées pour rediriger la chaîne construite vers la sortie de la console.

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

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::stringstream;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;
  stringstream tmp_stream;

  cout << app_str << endl;
  tmp_stream << app_str << number;
  cout << tmp_stream.str() << endl;

  return EXIT_SUCCESS;
}

Production :

This string will be appended to
This string will be appended to 12345

Utilisez la méthode append() pour ajouter l’int à la chaîne

append() est une fonction membre de la classe std::basic_string, et elle peut effectuer plusieurs types d’opérations d’ajout comme spécifié par les paramètres. Dans la forme la plus simple, lorsqu’un argument de type chaîne de caractères unique est passé, il s’ajoute à l’objet à partir duquel la méthode est appelée. Comme alternative, il peut prendre un seul caractère et un nombre entier, représentant le nombre d’ajouts d’un caractère donné. Nous pouvons voir la liste complète des paramètres dans le manuel.

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;

  cout << app_str << endl;
  app_str.append(to_string(number));
  cout << app_str;

  return EXIT_SUCCESS;
}

Production :

This string will be appended to
This string will be appended to 12345
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - C++ String