在 C 语言中,如何通过名称作为字符串来调用函数?我有这个:
int main(int argc, const char *argv[])
{
char* events[] = {
"test",
"test2"
};
int i = 0;
for (; i < 2; ++i){
char* event = events[i];
// call function with name of "event"
}
return 0;
}
最佳答案
您可以做到,但没有太多内置功能可以提供帮助。
typedef struct {
char *event_name;
void (*handler)();
} event_handler;
然后搜索 event_handler
的数组(或其他任何数组),当您找到正确的名称时,调用关联的函数。
关于从 C 中的字符串调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875705/