在Linux中,你可以使用readdir
函數來讀取目錄中的文件和子目錄
首先,確保你已經包含了必要的頭文件:
#include <dirent.h>
#include <stdio.h>
#include <string.h>
然后,你可以使用opendir
、readdir
和closedir
函數來讀取目錄中的內容。為了過濾特定文件類型,你可以檢查每個條目的名稱是否以所需的擴展名結尾。例如,如果你只想列出所有的.txt
文件,可以這樣做:
#include <dirent.h>
#include <stdio.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打開當前目錄
if (dir == NULL) {
perror("opendir");
return 1;
}
while ((entry = readdir(dir)) != NULL) {
// 檢查文件名是否以 ".txt" 結尾
if (strstr(entry->d_name, ".txt") != NULL) {
printf("%s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
這個程序會打開當前目錄(.
),然后使用readdir
函數讀取其中的每個條目。對于每個條目,它使用strstr
函數檢查文件名是否包含.txt
字符串。如果是,則打印文件名。
你可以根據需要修改這個示例,以便過濾其他類型的文件。只需將.txt
替換為你想要的擴展名即可。