尝试创建自己的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;
}
}
答案 0 :(得分:4)
因为您没有向程序传递任何额外的参数,strcmp(argv[1],"-a")
将是一个问题。你应该在这里查看argc
。