C/C++获取目录下的文件列表信息_C 语言

1.数据结构

复制代码 代码如下:

struct dirent
{
    long d_ino;                 /* inode number 索引节点号 */
    off_t d_off;                /* offset to this dirent 在目录文件中的偏移 */
    unsigned short d_reclen;    /* length of this d_name 文件名长 */
    unsigned char d_type;        /* the type of d_name 文件类型 */   
    char d_name [NAME_MAX+1];   /* file name (null-terminated) 文件名,最长255字符 */
}

struct __dirstream
  {
    void *__fd;                        /* `struct hurd_fd' pointer for descriptor.  */
    char *__data;                /* Directory block.  */
    int __entry_data;                /* Entry number `__data' corresponds to.  */
    char *__ptr;                /* Current pointer into the block.  */
    int __entry_ptr;                /* Entry number `__ptr' corresponds to.  */
    size_t __allocation;        /* Space allocated for the block.  */
    size_t __size;                /* Total valid data in the block.  */
    __libc_lock_define (, __lock) /* Mutex lock for this structure.  */
  };

typedef struct __dirstream DIR;

2.程序示例
其中程序中win不支持文件类型(d_type),可以根据文件名称后缀来判断文件类型;linux可以直接使用d_type判断是目录还是文件。

复制代码 代码如下:

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

int main(){
    DIR    *dir;
    struct    dirent    *ptr;
    dir = opendir("."); ///open the dir

    while((ptr = readdir(dir)) != NULL) ///read the list of this dir
    {
        #ifdef _WIN32
            printf("d_name: %s\n", ptr->d_name);
        #endif
        #ifdef __linux
            printf("d_type:%d d_name: %s\n", ptr->d_type,ptr->d_name);
        #endif
    }
    closedir(dir);
    return 0;
}

程序输出:

时间: 2024-09-25 17:18:27

C/C++获取目录下的文件列表信息_C 语言的相关文章

php 获取目录下所有文件实现代码

php教程 获取目录下所有文件实现代码 class a{     private $img_dir;         private $img_path;         private $face_files = array();         private $allow_extension = array(); private function get_face_files()         {             $files = array();             if(

vs.net 2005(vb) + PPC 得到指定目录下所有文件列表的方法 DIR好像不能用

问题描述 在vb.net2003中,开发PC的程序,我可以用DIR得到某一个目录下所有的文件,但是vs.net2005(vb)+PPC中,DIR不能用,这样的话,我该怎么做呢? 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主

C++获取zip文件列表方法_C 语言

// ZipFile.h // #ifndef ZIPFILE_H #define ZIPFILE_H #include <string> #include <vector> #define ZIP_OK 0 #define ZIP_ERR_OPEN 1 #define ZIP_ERR_WRONG_FILE 2 #define ZIP_ERR_WRONG_HEADER 3 #define BYTE unsigned char #define ui32 unsigned int #d

web service-C#做的webservice获取目录下文件,失败

问题描述 C#做的webservice获取目录下文件,失败 写了段获取目录下的文件信息,结果调用时,报错public Int32 GetserverImages(string imgFileKind ref Fileinfos[] strFileinfos ref string strMsg ref Int32 irtn) { List str_fileinfos = new List(strFileinfos); string path = ConfigurationManager.Conne

python获取指定目录下所有文件名列表的方法

  本文实例讲述了python获取指定目录下所有文件名列表的方法.分享给大家供大家参考.具体实现方法如下: 这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #

jsp编程获取当前目录下的文件和目录及windows盘符的方法_JSP编程

本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法.分享给大家供大家参考,具体如下: (一)获取当前目录下的文件和目录 知识点 1 file对象的应用 2 listFiles()方法 3 isDirectory()方法,isFile()方法 判断是否为目录或是文件 4转换字符串方法toString (1)创建一个file对象dir, 然后用listFiles()方法返回当前目录下所有文件 String path=request.getRealPath("/")

php获取目录下的所有文件并按时间排序

php获取目录中的所有文件名 1.先打开要操作的目录,并用一个变量指向它 //打开当前目录下的目录pic下的子目录common. $handler = opendir('pic/common'); 2.循环的读取目录下的所有文件 /*其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false.一定要用!==,因为如果某个文件名如果叫'0′,或者某些被系统认为是代表fals

编程-[求助]使用java在指定的目录下实现文件的模糊搜索

问题描述 [求助]使用java在指定的目录下实现文件的模糊搜索 一.功能要求: 用户单击"选择地址"按钮,程序自动打开文件夹选择器(如图2),用户选定用户选择目标文件夹后,输入文件名(可包含"*"表示任意连续多个字符,"?"示任意一个字符),选择文件的扩展名.程序自动获取指定目录下满足条件的所有文件,并显示在窗体中(如图1).二.关键技术: 首先获取指定目录下的文件数组,再从该数组中查询满足条件的文件.三.实现的图形用户界面如下: 解决方案 已经

使用python实现正则匹配检索远端FTP目录下的文件

 这篇文章主要介绍了使用python实现正则匹配检索远端FTP目录下的文件的方法,非常的简单实用,需要的小伙伴参考下     遇到一个问题,需要正则匹配远端FTP目录下的文件,如果使用ftp客户端可以通过命令行很容易的做到这一点,但是暂时没有一个工具支持这样的需求,于是通过python对FTP的支持和对正则表达式的支持,写了这么一个简单的工具,用于使用正则表达式来匹配远端目录的文件. 代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2