linux学习第15天(递归遍历目录实现-ls -R)
思路
1.判断命令参数,获取用户要查询的目录名。 argv[1]
argc == 1 -->./
2.判断用户指定的是否为目录。stat S_ISDIR(); -->封装函数isFile
3.读目录:
opendir()
while(readdir()){
做出判断
普通文件:直接打印
目录:
拼接目录访问绝对路径。sprintf(path,“%s/%s”,dir,d_name)
递归调用自己
}
closedir()
实现ls -R
下面来简单实现ls -R(仅包含目录和普通文件)
编译执行
还可以修改代码,使用回调,效果一样