C语言中将变量名转换成字符串使用的是#符号,来看下边两个宏定义: #definename2str(name) (#name)#defineprint_val(x) printf(#x" = %d\n", x) 使用的时候自动将相应的变量名转换成字符串,示例代码: intmain() {inta =10;shortb =11;charc =12;void*addr = (void*)123456;intxyz =100; printf(...
C中变量名通过宏定义转换成char*类型字符串 #include <iostream> #include <stdlib.h> #define name_to_str(name)(#name) int main() { int sum = 10; std::cout<<name_to_str(sum)<<std::endl;//调用宏输出char*型“sum” system("pause"); return 0; }...
By defining a macro that takes a variable name asan argument and uses the `` operator, it is possible to create a string representation of the variable name.此外,在C中使用宏也可以提供一种将变量名称转换为字符串的方法。通过定义一个以变量名称为参数并使用``运算符的宏,可以创建变量名称的字符串...
将变量名看作字符串switch(level){#define XX(name) \case LogLevel::name: \return #name; \break;XX(DEBUG);XX(INFO);XX(WARN);XX(ERROR);XX(FATAL);#undef XXdefault:return"UNKNOW";}return"UNKNOW";}LogLevel::LevelLogLevel::FromString(conststd::string&str){// 在宏中使用 # ,将变量名...
在C语言中,可以使用宏来将整型转换为字符串。这个过程被称为整型到字符串的转换。下面是一个示例代码: 代码语言:txt 复制 #include <stdio.h> #include <stdlib.h> #define INT_TO_STR(x) #x int main() { int num = 123; char* str = INT_TO_STR(num); ...
abc); printf("a= %d b= %d c= %d\n",a,b,c); printf("%s= %d %s= %d %s= %d\n",name_to_str(a),a,name_to_str(b),a,name_to_str(c),c); printf("%s=%d\n",p1,abc); return 0;}输出结果:a= 3 b= 4 c= 5a= 3 b= 3 c= 5abc=60 ...
1、#(stringizing)字符串化操作符。 其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。 如: #define example(instr) printf("the input string is:/t%s/n",#instr) ...
是一种在C语言中使用宏定义来生成字符串的技术。通过使用宏定义,可以将字符代码转换为对应的字符串表示。 在C语言中,字符代码是使用ASCII码来表示的,每个字符都有一个对应的整数值。C宏按字符代码生成...
1 部分编译器中,支持__FUNCTION__或__func__宏。该宏为编译器定义,值为被调用函数的函数名转换成的字符串。如在func()中调用__FUNCTION__,则该宏的值为"func"。2 如果编译器不支持上述宏名,那么需要手动添加宏。可以有如下两种方式:a. 直接定义对应字符串,如 define FUNC_NAME "func"字...