C分段错误:11
我遇到了分段错误:11当引入的参数导致使用这部分代码时:C分段错误:11,c,directory,segmentation-fault,C,Directory,Segmentation Fault,我遇到了分段错误:11当引入的参数导致使用这部分代码时: else { directoria = opendir (argv[2]); if (directoria == NULL) { printf ("Não foi possível abrir a directoria '%s' ou esta não contém ficheiros.\n", argv[2]); } else { while ((ficheiro = rea
else
{
directoria = opendir (argv[2]);
if (directoria == NULL)
{
printf ("Não foi possível abrir a directoria '%s' ou esta não contém ficheiros.\n", argv[2]);
}
else
{
while ((ficheiro = readdir (directoria)) != NULL)
{
sprintf(guardar, "%s/%s", argv[2], ficheiro->d_name);
stat (guardar, &dados);
printf ("%7d", dados.st_size);
tempbon = dados.st_mtime;
t = localtime (&tempbon);
strftime(tempo, 80, "%b %d %H:%M", t);
printf (" %s", tempo);
printf (" %s\n", ficheiro -> d_name);
}
}
closedir (directoria);
}
我可以发布完整的代码或您认为必要的任何其他解释。我也感谢您提供的任何输入。我认为如果
directoria
为空,您仍将执行closedir(directoria)代码>这将取消对空指针的引用并导致segfault