KEIL C51中的字符中拼接

来源:互联网 发布:mp288 p07清零软件 编辑:程序博客网 时间:2024/05/09 10:17

1、在Keil中写在一起的字符串Keil能够自动拼接到一起,成生一个新的字符串,如
printf("This"" is"" a"" string");
效果与
printf("This is a string");
的效果是一样的
这种写法也可以用于初始化如
char str[] = "first half""the other half";
2、使用拼接符##
#define StrCat(str1, str2) str1##str2
#define string StrCat("str1", "str2")
printf(string)
展开后得到
printf("str1""str");
3、使用拼接符#
#define paster(n) printf ("token" #n " = %d", token##n)
paster (9);
预处理后得到
printf ("token9 = %d", token9);
#define string1         "number"
#define strng2        "digit"
#define CatStr1(str1, str2)      "1 is a " # str1 # "or " # str2
CatStr1(string1, string2)==> "1" is a string1 or string2"
而得不到 "1 is a number or digit"
不过可以通过
"1 is a " ## string1 ## " or" ## string2得到想要的结果
以上代码在C++ builder 6.0中也适用,应该是标准C支持的

原创粉丝点击