【发布时间】:2017-08-28 18:11:39
【问题描述】:
所以我正在尝试实现 linux 命令 rm -rf 并且在我的主目录中我有类似的东西:
struct stat sb;
if(unlink(argv[i]) == 0)
{
printf (argv[i]); printf(" Deleted\n");
}
if (S_ISDIR(sb.st_mode))
{
remove_dir(argv[i]);
}
else
{
perror(argv[i]);
}
我想要做的是,如果用户输入是目录,那么调用 void remove_dir();删除目录,但它只是打印 argv[i] 是否是目录。任何建议都会非常有帮助。
【问题讨论】:
-
你从来没有做过任何事情来填充
sb,所以我可以想象sb.st_mode指示 is-directory 状态的机会是完全随机的机会(和未定义的行为,因为内容是 不确定)。