Je sais qu'il est possible de concaténer un macro défini avec une chaîne de caractères comme ceci
#define R "car"
const char * s1 = "foo"R; //s1="foocar"
Mais quand j'essaie de placer R
entre deux littéraux de chaîne de caractères comme ceci
#define R "car"
const char * s1 = "foo"R"bar"; //erreur de compilation
Je reçois une erreur de compilation erreur : 'R' égaré dans le programme
. Comment peut-on arriver à l'objectif du deuxième exemple ci-dessus afin que s1 = "foocarbar"
?