[英]how to list all the .txt files in the current directory?
我確實知道如何通過打開目錄"./"
然后使用readdir
從當前目錄讀取所有文件。 但是,如何僅列出.txt
文件或任何其他特定的擴展名?
DIR *p;
struct dirent *pp;
p = opendir ("./");
if (p != NULL)
{
while ((pp = readdir (p))!=NULL)
puts (pp->d_name);
(void) closedir (pp);
}
只需在打印前檢查文件名即可。
DIR *p;
struct dirent *pp;
p = opendir ("./");
if (p != NULL)
{
while ((pp = readdir (p))!=NULL) {
int length = strlen(pp->d_name);
if (strncmp(pp->d_name + length - 4, ".txt", 4) == 0) {
puts (pp->d_name);
}
}
(void) closedir (p);
}
順便說一句,您也在調用dirent
(pp)而不是DIR *
(p)來調用closedir()
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.