• linux c 列出当前工作目录下所有的文件


    14.2.4 列出目录的简单程序

    这里的例子打印出当前工作目录下所有的文件:

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

    int main(void)
    {
    DIR* dp;
    struct dirent* ep;

    dp = opendir("./");
    if (dp != NULL)
    {
    while (ep = readdir(dp))
    puts(ep->d_name);
    (void) closedir(dp);
    }
    else
    puts("Couldn't open the directory.");

    return 0;
    }


    其中,

    1)DIR 目录流(directory stream)类型;

    2)struct dirent 包含以下内容:
    char d_name[] 文件名
    ino_t d_fileno 文件序列号
    unsigned char d_namelen 文件名长度
    unsigned char d_type 文件类型
    文件类型可以是:DT_UNKNOWN 不明类型
    DT_REG 普通文件
    DT_DIR 目录(to marmoset:这是你需要知道的)
    等;

    等;

    3)DIR* opendir(const char* dirname)
    打开并返回一个名为dirname的用于读取操作的目录流;

    4)struct dirent* readdir(DIR* dirstream)
    从目录中读取下一条入口(entry),返回一个包含文件信息的dirent结构;

    5)int closedir(DIR* dirstream)
    关闭名为dirstream的目录流;

    6)puts()函数就不用我介绍了吧。


    这是Linux/Unix下的情况;相信dos,windows下会更方便,无奈我没有这方面的资料(你可以自己多看看VC、BC庞大的帮助系统,应该是可以找到相应函数和结构的。这里我给出的信息,你可以当作参考,大概知道应该找些什么方面的帮助.)。  
  • 相关阅读:
    纯CSS制作二级导航
    用python写MapReduce函数——以WordCount为例
    hadoop安装配置——伪分布模式
    字符串中最长不重合子串长度
    从30岁到35岁:为你的生命多积累一些厚度
    Hbase快速开始——shell操作
    5句话
    []leetcode]Unique Paths II
    [leetcode]Gray Code
    linux 命令案例学习——文件搜索
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175803.html
Copyright © 2020-2023  润新知