2017-06-13 66 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而不知道从哪里开始寻找答案。 –

相关问题