Comment imprimer une chaîne de caractères en C++

Jinku Hu 12 octobre 2023
  1. Utilisez les opérateurs std::cout et << pour imprimer une chaîne de caractères
  2. Utilisez l’algorithme std::copy pour imprimer une chaîne
  3. Utilisez la fonction printf() pour imprimer une chaîne de caractères
Comment imprimer une chaîne de caractères en C++

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 scanf pour 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;
}
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