zoukankan      html  css  js  c++  java
  • 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庞大的帮助系统,应该是可以找到相应函数和结构的。这里我给出的信息,你可以当作参考,大概知道应该找些什么方面的帮助.)。  
  • 相关阅读:
    Raw图像格式
    Basler相机外部触发设置(Halcon)
    C# 丢弃串口缓冲区 Serialport.DiscardInBuffer,DiscardOutBuffer
    ASCII 码
    Xcopy 使用详解
    Qt 信息提示框QMessageBox用法
    Qt 调整图片大小适应QLabel
    C++取整
    Qt QTableView数据列宽度自适应, 横向填满表格
    Qt 事件总结(鼠标、键盘) QMouseEvent、QKeyEvent
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175803.html
Copyright © 2011-2022 走看看