C/C++獲取目錄下的文件列表信息
1.數(shù)據(jù)結(jié)構(gòu)
struct dirent
{
long d_ino; /* inode number 索引節(jié)點(diǎn)號(hào) */
off_t d_off; /* offset to this dirent 在目錄文件中的偏移 */
unsigned short d_reclen; /* length of this d_name 文件名長(zhǎng) */
unsigned char d_type; /* the type of d_name 文件類型 */
char d_name [NAME_MAX+1]; /* file name (null-terminated) 文件名,最長(zhǎng)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),可以根據(jù)文件名稱后綴來(lái)判斷文件類型;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;
}
程序輸出:
相關(guān)文章
OpenCV實(shí)現(xiàn)圖像角點(diǎn)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)圖像角點(diǎn)檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01詳解C++編程中對(duì)二進(jìn)制文件的讀寫(xiě)操作
這篇文章主要介紹了C++編程中對(duì)二進(jìn)制文件的讀寫(xiě)操作,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09c語(yǔ)言通過(guò)棧判斷括號(hào)匹配是否配對(duì)
前面實(shí)現(xiàn)了棧的基本數(shù)據(jù)結(jié)構(gòu),這里來(lái)做一個(gè)聯(lián)系,用棧來(lái)解決一道比較常見(jiàn)的算法題,就是括號(hào)配對(duì)是否滿足規(guī)則,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2023-09-09C++實(shí)現(xiàn)選擇性排序(SelectionSort)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)選擇性排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04C語(yǔ)言輸出孿生素?cái)?shù)的實(shí)現(xiàn)示例
本文主要介紹了C語(yǔ)言輸出孿生素?cái)?shù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C語(yǔ)言實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)教務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03