web-dev-qa-db-fra.com

Comment générer une nouvelle ligne dans une macro CPP?

Comment écrivez-vous une macro CPP qui se développe pour inclure les nouvelles lignes?

39
user18458

Les compilateurs C & C++ ignorent les espaces blancheurs non coqués (à l'exception du numéro de modèle >>), alors obtenir une macro à émettre des lignes neuves n'a pas vraiment de sens. Vous pouvez faire une macrovier plusieurs lignes en mettant fin à chaque ligne de la macro avec une barre oblique inverse, mais cela ne produit pas de nouvelles lignes.

7
Mike Thompson

Le compilateur C est conscient de l'espace blanc, mais il ne distingue pas les espaces, les onglets ou les nouvelles lignes.

Si vous voulez dire comment puis-je avoir une nouvelle ligne dans une chaîne dans une macro, alors:

#define SOME_STRING "Some string\n with a new line."

marchera.

5
David L Morris