首页 > 其他分享 >实现ls

实现ls

时间:2022-10-16 15:46:13浏览次数:36  
标签:do direntp 实现 ls include ptr dir

运行结果

源代码

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>

void do_ls(char[]);

int main(int argc, char **argv)
{
    if (argc == 1)
    {
        do_ls(".");
    }
    else
    {
        while(--argc)
        {
            printf("%s:\n",*++argv);
            do_ls(*argv);
        }
    }
    return 0;
}


void do_ls(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) 
        {
            if(strcmp(direntp->d_name, ".") != 0 &&
                strcmp(direntp->d_name, "..") != 0)
            printf("%s  ", direntp->d_name);
        }
        printf("\n");
        close(dir_ptr);
    }
}

标签:do,direntp,实现,ls,include,ptr,dir
From: https://www.cnblogs.com/cqszxy2020/p/16796290.html

相关文章

  • stat命令的实现-mystat
    1.使用stat截图2.man-kgrep-r的使用3.伪代码首先判断输入中是否包含文件参数,如果有则继续,没有则提示用户输入错误。然后查找并将文件的相关参数进行保存,声明结构......
  • 改进ls
    功能要求运行结果源代码#include<stdio.h>#include<stdlib.h>#include<dirent.h>#include<string.h>#include<sys/stat.h>#include<sys/types.h>#inclu......
  • 实现ls与改进
    目录实现lsls伪代码:查询ls功能:代码实现:码云链接:运行结果:对比ls:改进ls的实现:ls的改进中的问题:改进代码:码云链接:运行结果:改进对比:实现lsls伪代码:打开目录文件针对目录文......
  • Azure DevOps Server 2022新功能:导入和导出到CSV文件,实现批量修改工作项
    AzureDevOpsServer(之前名称为TFS)作为微软的软件研发管理平台产品,由于系统涉及到软件开发的全过程和多种角色,服务器中积累了大量的软件开发过程数据,例如需求、评审、Bug和......
  • stat命令的实现-mysate
    学习stat(1)解决方法禁用man的SECCOMPexportMAN_DISABLE_SECCOMP=1永久解决:修改用户目录下的~/.bashrc文件进行配置vim~/.bashrc在最后一行加上exportMAN_DI......
  • Redis 实现分布式锁
    Redis实现分布式锁JVM层面的加锁(synchronized,ReentraLock) 单机版的锁分布式微服务架构中,为了避免各个微服务之间发生冲突和数据故障从而引入一种锁--分布式锁......
  • Session共享实现
    Session共享实现为什么要实现session共享呢随着互联网公司的项目在微服务和分布式的环境下进行的搭建,导致一个项目可能分别部署在几个甚至很多的服务器集群下,此时就会......
  • js实现列表自动滚动循环播放
    1.实现效果图鼠标移入,暂停滚动;鼠标移出,继续滚动;2.原理要实现无缝衔接,在原有ul后面还要有一个一样内容的ul;最外层div为可视区域,设overflow:hidden;2个ul的高度>外层......
  • stat命令的实现-mysate
    stat命令的实现-mysate(必做)学习任务:学习使用stat(1),并用C语言实现提交学习stat(1)的截图man-k,grep-r的使用伪代码产品代码mystate.c,提交码云链接测试代码,mysta......
  • 信息安全系统设计与实现学习笔记7
    一、知识点归纳以及自己最有收获的内容1、知识点归纳第4章并发编程1、并行顺序算法——begin-end包含多个步骤,通过单个任务依次执行,每次执行一个步骤并行算法—......