2017-06-13 3 views
-4

Ich muss .c-Dateien, ausführbare Dateien und Verzeichnisse in separater Farbe drucken. Bitte schlage mir ein paar Ideen vor. Vielen Dank im VorausWie kann ich die Datei dirent.h verwenden, um die Dateien in einem Verzeichnis zu drucken?

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

Bitte sagen Sie mir, hoe Kopf Dateien effizient zu verwenden –

+3

_Questions Debugging-Hilfe suchen (warum funktioniert dieser Code nicht?) Muss das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten Code enthalten, um es in der Frage selbst zu reproduzieren . Fragen ohne eine klare Problemstellung sind für andere Leser nicht nützlich. Siehe: Erstellen eines [mcve] ._ –

+1

Was ist falsch an Ihrem Code? Kompiliert es? Funktioniert es wie erwartet oder nicht? BTW: benutze keine Namen wie "ptr" oder "ptr1", warum nennst du sie nicht zum Beispiel "dot" und "twodots"? –

Antwort

1

Sie müssen nur die erforderlichen Header-Dateien enthalten.

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

Der Rest des Programms ist ein guter Anfang und sieht mehr oder weniger korrekt zu mir.

Für die Verwendung von Farben siehe this SO question.

+1

Wow, ein paar gutmütige Wunder sind ohne Kommentar ausgefallen. Wofür? Die Frage beantworten? Erstaunlich, wie viele Leute vergessen, wie es ist, C zu schreiben, ohne zu wissen, wo man anfangen soll, nach Antworten zu suchen. –

Verwandte Themen