Comment imprimer une chaîne de caractères en C++
-
Utilisez les opérateurs
std::cout
et<<
pour imprimer une chaîne de caractères -
Utilisez l’algorithme
std::copy
pour 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 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;
}
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++