Linux:在C中处理空参数

时间:2015-04-19 22:42:42

标签: c linux

尝试创建自己的ls命令,我面临的问题是,当我没有传递参数时,我在执行时遇到以下错误:

Segmentation fault (core dumped)

以下是我的代码:

int main(int argc, char* argv[])
{
    DIR *mydir;
    struct dirent *myfile;
    struct stat mystat;

    mydir = opendir("./");
    int print = 0;



    if (strcmp(argv[1],"-a") == 0)
     {
       print = 2;
     }
}

1 个答案:

答案 0 :(得分:4)

因为您没有向程序传递任何额外的参数,strcmp(argv[1],"-a")将是一个问题。你应该在这里查看argc