zoukankan      html  css  js  c++  java
  • Linux系统编程_1_文件夹读取(实现简单ls命令)

    闲来无事。随便写写,实现简单的ls命令:


    |  1 #include <stdio.h>
    |  2 #include <stdlib.h>
    |  3 #include <dirent.h>
    |  4 #include <string.h>
    |  5
    |  6 int main(int argc, char **argv)
    |  7 {
    |  8     DIR *pDir;
    |  9     struct dirent *stDir;
    | 10     int flag = 0;
    | 11
    | 12     if(argc > 2)
    | 13     {
    | 14         printf("Usage: ./ls or ./ls xxx
    ");
    | 15         exit(-1);
    | 16     }
    | 17     if(argc == 1)
    | 18     {
    | 19         flag = 1;
    | 20         if((pDir = opendir(".")) == NULL)
    | 21         {
    | 22             printf("open dir error!
    ");
    | 23             exit(-1);
    | 24         }
    | 25     }
    | 26
    | 27     if(!flag)
    | 28     {
    | 29         if((pDir = opendir(argv[1])) == NULL)
    | 30         {
    | 31             printf("open dir error!
    ");
    | 32             exit(-1);
    | 33         }
    | 34     }
    | 35
    | 36     while((stDir = readdir(pDir)) != NULL)
    | 37     {
    | 38         if(strcmp(stDir->d_name, ".") == 0 || strcmp(stDir->d_name, "..") == 0)
    | 39             continue;
    | 40         printf("%s
    ", stDir->d_name);
    | 41     }
    | 42
    | 43     closedir(pDir);
    | 44
    | 45     return 0;
    | 46 }

    功能:

    ./ls     ——列出当前文件夹下文件

    ./ls xxx——列出指定文件夹下文件

    忽略.与..两个文件夹。


  • 相关阅读:
    使用offerShow小程序查询程序员薪水
    StoryBoard中使用segue传值
    在Xcode11中添加launchImage
    OC之打乱对象数组
    HDU Today
    洛谷:P1048 采药
    洛谷:P1928 外星密码
    洛谷:P1757 通天之分组背包
    洛谷:P1115 最大子段和
    洛谷:P1104 生日
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6820663.html
Copyright © 2011-2022 走看看