Comment imprimer une chaîne de caractères en C++
- 
          
            Utilisez les opérateurs std::coutet<<pour imprimer une chaîne de caractères
- 
          
            Utilisez l’algorithme std::copypour imprimer une chaîne
- 
          
            Utilisez la fonction printf()pour imprimer une chaîne de caractères
 
Cet article présente plusieurs méthodes pour imprimer une chaîne de caractères en C++.
Utilisez les opérateurs std::cout et << pour imprimer une chaîne de caractères
    
std::cout est l’objet global pour contrôler la sortie vers un tampon de flux. Pour sortir la variable de chaîne s1 vers le tampon, nous devons utiliser l’opérateur - << appelé l’opérateur d’insertion de flux. L’exemple suivant montre une opération de sortie d’une seule chaîne de caractères.
#include <iostream>
#include <iterator>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
  string s1 = "This string will be printed";
  cout << s1;
  cout << endl;
  return EXIT_SUCCESS;
}
Production:
This string will be printed
Utilisez l’algorithme std::copy pour imprimer une chaîne
    
La méthode copy provient de la bibliothèque STL <algorithm>, et elle peut manipuler les éléments de la gamme de multiples façons. Puisque nous pouvons accéder au conteneur de la chaîne lui-même comme une plage, nous pouvons produire chaque élément en ajoutant l’argument std::ostream_iterator<char> à l’algorithme copy.
Notez que cette méthode peut aussi passer un délimiteur spécifique entre chaque caractère de la chaîne. Dans le code suivant, aucun délimiteur ("") n’est spécifié pour imprimer la chaîne sous sa forme originale.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
  string s1 = "This string will be printed";
  copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
  cout << endl;
  return EXIT_SUCCESS;
}
Utilisez la fonction printf() pour imprimer une chaîne de caractères
    
printf est un outil puissant utilisé pour la sortie formatée. Il fait partie de la bibliothèque d’entrées-sorties standard C. Il peut être appelé directement à partir du code C++. printf a le nombre variable de paramètres, et il prend la chaîne de caractères variable comme type char *, ce qui signifie que nous devons appeler la méthode c_str à partir de la variable s1 pour la passer en argument. Notez que chaque type a son propre spécificateur de format (par exemple string - %s), qui sont listés dans le tableau suivant.
| Spécificateur de format | Description | 
|---|---|
| % | Imprime un caractère % littéral (ce type n’accepte pas les champs de drapeau, largeur, précision, longueur). | 
| d, i | int comme un entier signé. %d et %i sont synonymes pour la sortie, mais sont différents lorsqu’ils sont utilisés avec scanfpour l’entrée (où l’utilisation de %i interprétera un nombre comme hexadécimal s’il est précédé de 0x, et octal s’il est précédé de 0). | 
| u | Imprimer en décimales non signées int. | 
| f, F | double en notation normale (point fixe). f et F ne diffèrent que dans la façon dont les chaînes de caractères d’un nombre infini ou NaN sont imprimées (inf, infini et nan pour f ; INF, INFINITY et NAN pour F). | 
| e, E | double valeur sous forme standard (d.ddde±dd). Une conversion E utilise la lettre E (plutôt que e) pour introduire l’exposant. | 
| g, G | double en notation normale ou exponentielle, selon ce qui est le plus approprié pour sa magnitude. g utilise des minuscules, G des majuscules. | 
| x, X | unsigned int comme nombre hexadécimal. x utilise des minuscules et X des majuscules. | 
| o | non signé int in octal. | 
| s | chaîne de caractères à terminaison nulle. | 
| c | char (caractère). | 
| p | void* (pointeur vers void) dans un format défini par l’implémentation. | 
| a, A | double en notation hexadécimale, commençant par 0x ou 0X. a utilise des lettres minuscules, A des lettres majuscules. | 
| n | N’imprime rien, mais écrit le nombre de caractères écrits avec succès jusqu’à présent dans un paramètre de pointeur d’entier. | 
#include <iostream>
#include <iterator>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
  string s1 = "This string will be printed";
  cout << s1;
  cout << endl;
  printf("%s", s1.c_str());
  cout << endl;
  return EXIT_SUCCESS;
}
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 FacebookArticle connexe - C++ String
- Comparaison de chaîne et de caractère en C++
- Supprimer le dernier caractère d'une chaîne en C++
- Obtenir le dernier caractère d'une chaîne en C++
- Différences entre l'opérateur sizeof et la fonction strlen pour les chaînes en C++
- Effacer la chaîne en C++
- Imprimer toutes les permutations de la chaîne en C++
