Déclarer une chaîne de caractères multiligne en C++

  1. Utilisez la classe std::string pour déclarer une chaîne multiligne en C++
  2. Utilisez la notation const char * pour déclarer les chaînes de caractères multilignes littérales
  3. 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 <string>
#include <vector>
#include <iterator>

using std::cout; using std::vector;
using std::endl; using std::string;
using std::copy;

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 <string>
#include <vector>
#include <iterator>

using std::cout; using std::cin;
using std::endl; using std::string;
using std::vector; using std::copy;

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 <string>
#include <vector>
#include <iterator>

using std::cout; using std::cin;
using std::endl; using std::string;
using std::vector; using std::copy;

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

Article connexe - C++ String

  • Comment convertir une chaîne de caractères en majuscules en C++
  • Comment convertir une chaîne de caractères en Int en C++