1. Use # to convert the input content to a string.
Merge two parameters.
# Include <iostream> using namespace STD; // convert the input content to a string # define alltostring (STR) # STR // paste the two parameters together # define alltoparter (parm1, parm2) parm1 # parm2 int main () {cout <alltostring (Hello hxy !) <Endl; // output Hello hxy! Cout <alltoparter ("girl", "friend") <Endl; // output girlfriendreturn 0 ;}
2. When the parameter contains another macro.
Note that macro parameters are not expanded when '#' or '#' is used in macro definitions.
That is:
# Include <iostream> using namespace STD; // convert the input content to a string # define alltostring (STR) # STR # define two 2int main () {cout <alltostring (two) <Endl; // output tworeturn 0 ;}
To avoid this, you need to add a macro in the middle for conversion. For example:
# Include <iostream> using namespace STD; // convert the input content to a string # DEFINE _ alltostring (STR) # STR # define alltostring (STR) _ alltostring (STR) # define two 2int main () {cout <alltostring (two) <Endl; // output 2 Return 0 ;}