学习目标
参考伪代码实现ls的功能,提交代码的编译,运行结果截图,码云代码链接。
打开目录文件
针对目录文件
读取目录条目
显示文件名
关闭文件目录文件
代码
#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>
void myls(char []);
int main(int ac,char * av[]){
if (ac == 1) {
myls(".");
} else {
while (--ac) {
++av;
myls(*av);
}
}
return 0;
}
void myls(char dirname[]){
DIR *dir_ptr;
struct dirent *direntp;
if ((dir_ptr = opendir(dirname)) == NULL) {
fprintf(stderr, "ls1 cannot open %s\n",dirname);
} else {
while ((direntp = readdir(dir_ptr)) != NULL)
printf("%s ", direntp->d_name);
printf("\n");
closedir(dir_ptr);
}
}