Retour a la ligne dans une chaine de char

abon -  
loupius Messages postés 789 Statut Membre -
Bonjour,

Je voudrais savoir s'il etait possible de declarer une chaine de charactere avec des retours a la ligne...

Je m'explique : je sais tres bien qu'en faisant

char *str = "1ere ligne de ma chaine\n2eme ligne\n3eme ligne chaine de char"

pas de probleme de ce cote la ! mon probleme est que je voudrais ecrire en dur un chaine assez grande et vous comprendrez bien qu'en faisant 10 voir 20 \n, ma chaine de char ne sera plus trop visible. je n'arrive pas a faire un truc de ce genre en faite :

char *str = "1ere ligne\n
             2eme ligne\n
             3eme ligne\n"


je travail sous emacs, si quelqu'un sait si cest possible je vous remerci pas avance.

au revoir

1 réponse

loupius Messages postés 789 Statut Membre 148
 
Ah bon, eh bien oui c'est possible et tu n'étais pas loin de la solution; celle-ci est:
char* str = "1ere ligne\n
2eme ligne\
3eme ligne\"
Explication:
- Placé en fin de ligne, le caractère '\' indique la poursuite de l'instruction sur la ligne suivante, bien sûr ce caractère n'est pas traité comme faisant partie de l'instruction.
Attention:
- Hormis le caractère '\', tous les autres caractères (y compris le retour à la ligne, les espaces et les tabulations) feront partie de l'instruction.
Bonne continuation.
2