C/C++ 宏参数名前加#变为字符串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010318270/article/details/81671275

在宏定义中,宏参数名前加上#表示为一个字符串。

#include <stdio.h>
#define SET_STRING(str1, str2)   \
    char outStr1[100] = #str1;   \
    char outStr2[100] = #str2;   \
    const char* str = "aabbcc";  \
    if (#str1 == str)            \
        printf("str1 is string\n");\
    else                         \
        printf("str1 is not string\n");      

int main()
{
    SET_STRING(aabbcc, haha);
    printf("outStr1=%s, outStr2=%s\n",outStr1,outStr2);
    return 0;
}
str1 is string
outStr1=aabbcc, outStr2=haha

猜你喜欢

转载自blog.csdn.net/u010318270/article/details/81671275
今日推荐