簡體   English   中英

如何列出當前目錄中的所有.txt文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM