我有一个问题,我需要将结构变量的名称转换为 char
.例如:
struct CARINFO a;
当我的函数接受参数 CARINFO a
时, 我想同时使用 a
和 "a"
在函数中。
有人能帮忙吗?
最佳答案
您可以使用宏将指向结构的指针及其名称传递给实际函数。
struct bar {
// blah
};
void actual_foo(struct bar *b, char *bname) {
// whatever
}
#define foo(bar) actual_foo(&(bar), #bar)
int main() {
struct bar b;
foo(b);
}
关于将结构转换为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413398/