4 votes

Comment faire une chaîne brute C++ qui inclut un terminateur de chaîne brute ?

J'utilise R"(...)" pour définir une chaîne brute mais, si la chaîne est effectivement contient un terminateur de chaîne brut )" le compilateur se plaindra.

Par exemple :

auto tag = R"("(add)")"; // try to get string <"(add)">

Comment puis-je modifier cela pour que cela fonctionne ?

9voto

StoryTeller Points 6139

La syntaxe d'une chaîne littérale brute ressemble à ce qui suit :

R"<delim>(...)<delim>"

Le délimiteur facultatif qui se trouve à côté des parenthèses est là exactement pour la raison que vous venez de découvrir. Il vous permet d'inclure les caractères de contrôle de la chaîne brute à l'intérieur du littéral. Donc, ajoutez un délimiteur :

auto tag = R"tag("("add")")tag";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X