2017-06-13 93 views
-4

我需要以獨立的顏色打印.c文件,可執行文件和目錄。請給我建議一些想法。在此先感謝如何使用dirent.h文件打印目錄中的文件?

int main(void) 
{ 

     DIR *d; 
     int iNum = 0; 
     struct dirent *dir; 
     char *ptr = "."; 
     char *ptr1 = ".."; 

     d = opendir("."); 

     if (d) 
     { 

       while ((dir = readdir(d)) != NULL) 
       { 
         if(strcmp(ptr,dir->d_name) && strcmp(ptr1,dir->d_name)) 
         { 
           printf("%d\n", dir->d_type); 
           printf("%s\n", dir->d_name); 
           iNum++; 
         } 
       } 
       closedir(d); 
     } 
     printf("the number of files are %d\n",iNum); 

     return(0); 
} 
+0

請告訴我鋤頭有效地使用頭文件 –

+3

_Questions尋求調試幫助(爲什麼不是這個代碼工作?)必須包括所需的行爲,一個特定的問題或錯誤,以及在問題本身中重現它的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建[mcve] ._ –

+1

代碼有什麼問題?它是否編譯?它是否按預期工作或沒有?順便說一句:不要使用諸如「ptr」或「ptr1」之類的名稱,爲什麼不叫他們爲例如「dot」和「twodots」? –

回答

1

您只需包含所需的頭文件。

#include <dirent.h> // for opendir etc. 
#include <stdio.h> // for printf 

該程序的其餘部分是一個很好的開始,看起來或多或少對我來說是正確的。

請使用顏色請看this SO question

+1

哇,一些無辜的奇蹟downvoted沒有評論。爲了什麼?回答這個問題?令人驚訝的是,有多少人忘了嘗試寫C而不知道從哪裏開始尋找答案。 –