<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C/C++如何獲取目錄下的文件列表信息

            時間:2025-04-22 02:44:32 C語言 我要投稿
            • 相關推薦

            C/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

              #include

              #include

              #include

              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: %sn", ptr->d_name);

              #endif

              #ifdef __linux

              printf("d_type:%d d_name: %sn", ptr->d_type,ptr->d_name);

              #endif

              }

              closedir(dir);

              return 0;

              }

              程序輸出:

            【C/C++如何獲取目錄下的文件列表信息】相關文章:

            java是如何用遞歸獲取一個目錄下的所有文件路徑10-23

            如何運行C++程序08-28

            C語言用fstat函數獲取文件的大小07-24

            C/C++中如何判斷某一文件或目錄是否存在10-11

            c語言怎么獲取硬件信息07-23

            如何在C/C++中調用Java08-17

            C++如何調用matlab函數06-29

            Java程序如何調用C/C++語言函數10-29

            PHP如何獲取系統信息11-04

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看