Answers
我理解是想利用已有的一些宏定义直接字符串化输出,因为这些宏的名字本身就有了一些意义,比较容易读懂,起码比 0,1,2,3这些数字强多了。
第一次贴的时候居然失败了,这是打第二次字。。。悲剧啊。。。
主要思路就是利用c/c++预处理中的#运算符,上代码吧,多说不会。
----------------file Main.cpp----------------------------------------
#include <iostream> //c++标准输入输出头文件
#include <stdio.h> //要是c编译器就包含这个
#define MacroFormatOut(x) #x //用#运算符字符串x
#define ERROR_SUCCESS 0x00
#define ERROR_1 0x01
//其他已有宏定义不写啦,反正有几个有点意思的宏 :)
int main() {
std::cout << MacroFormatOut(ERROR_SUCCESS) << std::endl;
printf("%s", MacroFormatOut(ERROR_1) );
return 0;
}
--------------file end-----------------------------------------------
输出结果:
ERROR_SUCCESS
ERROR_1
乘着企鹅去南极
answered 12 years, 10 months ago