我得到了分段错误: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);
}我可以张贴整个代码或任何您认为必要的额外解释。我很感激你提供的任何意见。
发布于 2013-12-09 21:58:57
我认为,如果directoria为NULL,则仍将执行closedir (directoria);,这将取消对null指针的引用,并导致分段错误。
https://stackoverflow.com/questions/20481566
复制相似问题