bonjour
est ce que quelqun peux me explique c est qoi la difference entre #define str1(s) #s et
#define str2(s) "s"
merci d avance
Version imprimable
bonjour
est ce que quelqun peux me explique c est qoi la difference entre #define str1(s) #s et
#define str2(s) "s"
merci d avance
"s" = une string qui vaut "s", mais pas le s de ton argumentCode:#define str2(s) "s"
#s tu va utiliser l'arguent et le convertire comme une chaineCode:#define str1(s) #s
par exemple
printf ("%s\n", str1 (salut)); le #s va convertire salut en "salut"
http://c.developpez.com/faq/index.ph...ese_dans_macro
http://c.developpez.com/faq/index.ph...ine_avec_param
Ces 2 liens devraient te donner un élément de réponse. Je ne suis pas certain de mon analyse mais je pense que l'une définie une macro qui sera remplacée par une chaine ; l'autre définie que le paramètre de la macro sera considéré comme une chaine.
EDIT : chui pas tout seul ^^