• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
游浩贤
博客园    首页    新随笔    联系   管理    订阅  订阅

实现ls(课上作业)

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

运行截图

posted @ 2022-10-14 11:17  游浩贤  阅读(32)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3