假设我有一个结构如下:
struct person {
int age;
char name[24];
} person;
用户给出程序应该读取哪个结构成员的参数。./program age
int main(int argc, char **argv) {
int i;
i = person.argv[1];
printf("%i\n", i);
}
这显然是不可能的。有没有一种方法可以读取结构成员而无需在代码中键入确切的成员名称?
我能想到的唯一方法是将给定的字符串与以每个结构成员命名的字符串进行比较。
C 不以任何方式支持运行时反射,从而使工作变得容易。我怀疑您能做的最好的事情就是编写一个代码生成器来编写字符串到结构的成员选择函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)