What I'm trying to do is to
string = "a";
#define STRINGIFY2(X) #X #define STRINGIFY(X) STRINGIFY2(X) #define A 2
STRINGIFY(A) will give you
"2". You can concatenate it with other string literals by putting them side by side.
"I have the number " STRINGIFY(A) "." gives you
"I have the number 2.".