首页 > 其他分享 >实现ls

实现ls

时间:2022-10-16 11:11:57浏览次数:38  
标签:实现 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/wulongcan20201306/p/16795787.html

相关文章

  • SQL1001N is not a valid database name. SQLSTATE=2E000
    $db2createdbhcba_appstoreusingcodesetUTF-8territoryCNCOLLATEUSINGSYSTEM出现错误SQL1001N"hcba_appstore"isnotavaliddatabasename.SQLSTATE=2E0......
  • stat命令的实现-mysate
    学习目标提交学习stat(1)的截图man-k,grep-r的使用伪代码产品代码mystate.c,提交码云链接测试代码,mystat与stat(1)对比,提交截图提交学习stat(1)的截图安装man手册......
  • 改进ls的实现
    一、代码#include<stdio.h>#include<sys/types.h>#include<dirent.h>#include<sys/stat.h>#include<pwd.h>#include<grp.h>#include<unistd.h>......
  • 基于VMobject的动画实现
    我想,将VMobject变为一个个内外嵌套的壳,但是目前来看无法实现首先,我们考察非平滑节点,以正方形为例:defplayscene0():c=Square()li......
  • 使用 Apache Hudi 实现 SCD-2(渐变维度)
    数据是当今分析世界的宝贵资产。在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要。渐变维度(SCD)是随时间推移存储和管理当前和历史数据的维度。在SCD的......
  • C++ 实现随机数生成(Windows、Linux)
    1、简介计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意:小M多项式序列的周期是65535,即每次利用一个随机种子生......
  • 【预测模型-BP分类】基于萤火虫算法优化BP神经网络实现数据分类附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Entity Framework教程-模型(Models)
    更新记录转载请注明出处:2022年10月16日发布。2022年10月10日从笔记迁移到博客。模型基础实体对象模型说明(EntityDataModel)EF使用实体对象模型进行增删改查(CRU......
  • IDEA 实现Github多设备同步
    前提:新建一个项目,或者是之前的项目就不用再新建设置Git路径方法1打开设置,搜索git,找到你安装好的Git的路径点击OK方法2登录Github输入你的Github账户及密码......
  • E: Release file for http://mirrors.tuna.tsinghua.edu.cn/debian-security/dists/bu
    虚拟机yunupdate时间失效问题E:Releasefileforhttp://mirrors.tuna.tsinghua.edu.cn/debian-security/dists/bullseye-security/InReleaseisnotvalidyet(invalid......