当引入的参数导致使用这部分代码时,我收到段错误: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 = 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
为NULL,您仍然会执行closedir (directoria);
,这将取消引用空指针并导致段错误。
关于C 段错误 :11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481566/