C语言 尝试使用 execle 时出现预期的参数声明符错误



所以我是一个新手,我似乎无法弄清楚为什么在尝试编译此代码时会出现以下错误。作为参考,我正在从"Head First C"一书中学习,这是他们在第9章早期给出的一个例子。虽然我已经完全复制了它,但它仍然不起作用,我对为什么感到困惑。在我看来,我正在给它想要的参数,所以我无法弄清楚它还在要求什么。

法典:

#include <stdio.h>
#include <stdlib.h>
char *my_env[] = {"JUICE=peach and apple", NULL};
execle("dinerinfo", "dinerinfo", "4", NULL, my_env);

错误:

cc     my_env.c   -o my_env
my_env.c:5:8: error: expected parameter declarator
execle("dinerinfo", "dinerinfo", "4", NULL, my_env);
   ^
my_env.c:5:8: error: expected ')'
my_env.c:5:7: note: to match this '('
execle("dinerinfo", "dinerinfo", "4", NULL, my_env);
首先,

如果要使用 execle,则必须包含unistd.h

而且你必须把代码放在一个函数中!

#include <stdio.h>
#include <unistd.h>
int main(void)
{
    char *my_env[] = {"JUICE=peach and apple", NULL};
    execle("dinerinfo", "dinerinfo", "4", NULL, my_env);
}

我没有从中得到编译错误。

如果代码确实在函数内,那么您有一些语法错误在这些行之前。

相关内容

  • 没有找到相关文章

最新更新