Déclarer une chaîne de caractères multiligne en C++
-
Utilisez la classe
std::string
pour déclarer une chaîne multiligne en C++ -
Utilisez la notation
const char *
pour déclarer les chaînes de caractères multilignes littérales -
Utiliser la notation
const char *
avec caractères de retour Déclarer la chaîne de caractères multiligne littérale
Cet article explique plusieurs méthodes de déclaration d’une chaîne de caractères multiligne en C++.
Utilisez la classe std::string
pour déclarer une chaîne multiligne en C++
L’objet std::string
peut être initialisé avec une valeur de type chaîne. Dans ce cas, nous déclarons la variable chaîne s1
comme une variable locale de la fonction main
. Le C++ permet de concaténer automatiquement plusieurs littéraux de chaînes de caractères à double apostrophe dans une déclaration. Par conséquent, on peut inclure un nombre quelconque de lignes lors de l’initialisation de la variable string
et garder le code plus lisible.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
string s1 =
"This string will be printed as the"
" one. You can include as many lines"
"as you wish. They will be concatenated";
copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
cout << endl;
return EXIT_SUCCESS;
}
Production :
This string will be printed as the one. You can include as many linesas you wish. They will be concatenated
Utilisez la notation const char *
pour déclarer les chaînes de caractères multilignes littérales
Dans la plupart des situations, cependant, il peut être plus pratique de déclarer une chaîne en lecture seule littérale avec un qualificatif const
. C’est particulièrement pratique lorsque les textes relativement longs doivent être sortis sur la console, et que ces textes sont pour la plupart statiques avec peu ou pas de changements dans le temps. Notez que la chaîne de caractères du qualificateur const
doit être convertie en objet std::string
avant d’être passée en argument de l’algorithme copy
.
#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() {
const char *s2 =
"This string will be printed as the"
" one. You can include as many lines"
"as you wish. They will be concatenated";
string s1(s2);
copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
cout << endl;
return EXIT_SUCCESS;
}
Production :
This string will be printed as the one. You can include as many linesas you wish. They will be concatenated
Utiliser la notation const char *
avec caractères de retour Déclarer la chaîne de caractères multiligne littérale
On peut aussi utiliser le caractère backslash \
pour construire une chaîne multiligne littérale et l’assigner au pointeur char
qualifié de const
. En bref, le caractère backslash doit être inclus à la fin de chaque saut de ligne, ce qui signifie que la chaîne continue sur la ligne suivante.
Attention, cependant, l’espacement devient plus sujet à erreur car tout caractère invisible comme les tabulations ou les espaces sera inclus dans la sortie. D’autre part, on peut utiliser cette fonction pour afficher certains motifs plus facilement à la console.
#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() {
const char *s3 =
" This string will\n\
printed as the pyramid\n\
as one single string literal form\n";
cout << s1 << endl;
printf("%s\n", s3);
return EXIT_SUCCESS;
}
Production :
This string will
printed as the pyramid
as one single string literal form
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++