#define tm "Time:"
#define a __TIME__
我想把上面两个宏在宏定义里面连接成一个字符串怎么连?
14 个解决方案
#1
#define timestr tm##a
#2
#define _TIME tm a
#3
#define tm "Time:"
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
A(a)就是结果了。
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
A(a)就是结果了。
#4
1楼正解。
##就搞定
##就搞定
#5
[align=center]
照猫画虎 [/align]
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f(x,y) B(y)##A(x)
f(a,tm)
照猫画虎 [/align]
#6
#define tm "Time:"
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
#7
汗 !多画了
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f B(y)##A(x)
f
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f B(y)##A(x)
f
#8
##就搞定
#9
#include <stdio.h>
#define tm "Time:"
#define a __TIME__
#define _f(x,y) x##y
#define f(x,y) _f(x,y)
#define _CON(x) #x
#define CON(x,y) _CON(f(x,y))
int main(void)
{
puts(CON(tm,a));
getchar();
return 0;
}
#10
cv++ 2008下CON(tm,a)展开成了这样:“f("Time:","01:48:54")”,估计楼主想要的结果应该是"Time:01:48:54"。你的方法估计是不正确的
#11
顶一楼,##
#12
1,2楼都可,调一个你喜欢的
#13
估计都不行,编译通不过
#14
google宏的 ##
#1
#define timestr tm##a
#2
#define _TIME tm a
#3
#define tm "Time:"
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
A(a)就是结果了。
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
A(a)就是结果了。
#4
1楼正解。
##就搞定
##就搞定
#5
[align=center]
照猫画虎 [/align]
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f(x,y) B(y)##A(x)
f(a,tm)
照猫画虎 [/align]
#6
#define tm "Time:"
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
#define a __TIME__
#define A(x) g(x)
#define g(x) tm#x
#7
汗 !多画了
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f B(y)##A(x)
f
#define tm "Time:"
#define a __TIME__
#define A(x) a
#define B(y) tm
#define f B(y)##A(x)
f
#8
##就搞定
#9
#include <stdio.h>
#define tm "Time:"
#define a __TIME__
#define _f(x,y) x##y
#define f(x,y) _f(x,y)
#define _CON(x) #x
#define CON(x,y) _CON(f(x,y))
int main(void)
{
puts(CON(tm,a));
getchar();
return 0;
}
#10
cv++ 2008下CON(tm,a)展开成了这样:“f("Time:","01:48:54")”,估计楼主想要的结果应该是"Time:01:48:54"。你的方法估计是不正确的
#11
顶一楼,##
#12
1,2楼都可,调一个你喜欢的
#13
估计都不行,编译通不过
#14
google宏的 ##