首页 > 其他分享 >实现ls

实现ls

时间:2022-10-16 22:46:22浏览次数:37  
标签:实现 char ls av dirname ptr dir myls

学习目标

参考伪代码实现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);
    }
}

截图

 

标签:实现,char,ls,av,dirname,ptr,dir,myls
From: https://www.cnblogs.com/MRC-/p/16797481.html

相关文章