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支持的
KEIL C51中的字符中拼接
最新推荐文章于 2024-07-29 11:09:03 发布