所以,我正在制作一个 Unix minishell,但遇到了障碍。我需要能够执行内置函数,所以我做了一个函数:
int exec_if_built_in(char **args)
它需要一个字符串数组(第一个是命令,其余是参数)。对于非内置命令,我只使用 execvp 之类的命令,但是我需要找到一种将第一个字符串映射到函数的方法。我正在考虑制作两个数组,一个是字符串,另一个是带有相应的函数指针。但是,由于其中许多功能会有所不同(返回和接受不同的东西),因此这种方法行不通。我还想过用名称属性和函数指针属性创建一个结构数组,但是由于我将使用的函数的不同性质,这将不起作用。
那么,根据字符串的输入执行函数的最佳方法是什么?如何将字符串映射到某个函数?我对函数指针不是很熟悉,所以我可能会遗漏一些东西。
谢谢你们的帮助:)