"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je créer des littéraux de chaîne multilignes en C++ ?

Comment puis-je créer des littéraux de chaîne multilignes en C++ ?

Publié le 2024-12-28
Parcourir:773

How Can I Create Multi-Line String Literals in C  ?

Littéraux de chaîne multilignes en C

En C , définir un littéral de chaîne multiligne n'est pas aussi simple que dans d'autres langages comme Perl. Cependant, il existe quelques techniques que vous pouvez utiliser pour y parvenir :

Littéraux de chaîne concaténés

Une méthode consiste à utiliser le fait que les littéraux de chaîne adjacents en C sont concaténés par le compilateur. En divisant votre chaîne en plusieurs lignes, vous pouvez créer une chaîne unique sur plusieurs lignes :

const char *text =
  "This text is pretty long, but will be "
  "concatenated into just a single string. "
  "The disadvantage is that you have to quote "
  "each part, and newlines must be literal as "
  "usual.";

Notez que l'indentation n'a pas d'importance car elle se situe en dehors des guillemets.

Chaîne avec des nouvelles lignes échappées

Une autre approche consiste à utiliser une chaîne littérale avec saut de ligne échappé. Au lieu d'utiliser des caractères de nouvelle ligne dans la chaîne elle-même, vous pouvez les échapper avec des barres obliques inverses (\) comme ceci :

const char *text2 =
  "Ici, par contre, je suis devenu fou \\\
et laissez vraiment le littéral s'étendre sur plusieurs lignes, \\\
sans prendre la peine de citer le \\\ de chaque ligne
contenu. Cela fonctionne, mais vous ne pouvez pas indenter.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3