Readdir 3 C -Funktion

Readdir 3 C -Funktion

Wenn ein naiver Benutzer über das Betriebssystem erfahren, lernt er das Dateisystem dieses Systems kennen. Ein Verzeichnis ist im Wesentlichen eine spezielle Art von Datei, die sich wie eine Datenbank eines beliebigen Betriebssystems wie Windows, Linux, Unix usw. verhält. Das Dateisystem der Medien definiert, wie die Dateien kategorisiert und zugegriffen werden. In ähnlicher Weise werden all diese Informationen im Verzeichnis gespeichert, einschließlich des physischen Standorts, des Namens, des Datums und der Zeitstempel, den Berechtigungen und anderen erforderlichen Details der Datei.

Die Readdir () -Funktion von POSIX im Linux -System war weithin für das Lesen aller Dateien und Ordner aus einem bestimmten Verzeichnis bekannt. In diesem Tutorial werden wir uns mit der Verwendung der Readdir -Funktion in Kali Linux befassen.

Wir müssen das „Dirent verwenden.H ”Header -Datei. Bevor Sie die Daten aus einem bestimmten Verzeichnis lesen, müssen Sie sie öffnen. Verwenden Sie die Funktion von Opendir (), um einen Zugriff auf ein Verzeichnis zu erhalten. Es ist wie folgt in der Header -Datei „Dirent“ geschrieben.H". Aber wir sprechen hier über die Funktion readdir (). Um einen Zugriff auf das Verzeichnis zu erwerben, das wir lesen werden, müssen wir die Funktion opendir () nutzen. Die Header -Datei „Dirent.H ”enthält die Definitionen für beide Funktionen. Vor dem Fortfahren müssen wir mit der Syntax der Readdir () -Funktion vertraut sein. Im Folgenden finden Sie die Syntax- und erforderliche Header -Dateien:

  • #enthalten
  • #enthalten
  • Struct Dirent *Readdir (Dir *Dirp);

Beispiel 1:

Verwenden Sie VIM oder einen anderen Editor Ihrer Präferenz, um eine Datei zu erstellen oder zu öffnen. In diesem Fall Readdirfile.c wird als Dateiname verwendet und der VIM -Editor wird verwendet. Wenn wir diesen Befehl eingeben und die Schaltfläche Eingabetaste auf der Tastatur drücken, öffnet der VIM -Editor die Datei. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:


Um den Einfügenmodus in VIM zu öffnen, drücken Sie die Taste „Escape“ auf der Tastatur und drücken Sie dann die Taste 'I', um den Einfügenmodus aufzurufen. Schreiben Sie dann, wie auf dem folgenden Bildschirm gezeigt, den Code in die Datei. Wir fügen einfach die Header -Dateien ein, definieren und definieren die POSIX -Quelle in den ersten sechs Codezeilen,.

Die Hauptfunktion beginnt dann mit dem Bau eines Dir -Zeiger -Verzeichnis. Diese Funktion erfordert einen Stringpfad zu einem Verzeichnis. In der folgenden Zeile definieren wir den Eintrag direkter Strukturpunkt, der später in der Funktion readdir () verwendet wird, um den Namen des Verzeichnisses im angegebenen aktuellen Verzeichnis anzuzeigen. Wie Sie in der Anweisung sehen können, haben wir die Opendir -Funktion angewendet, die das Zeichen '/' auf das Root -Verzeichnis des aktuellen Verzeichnisses verweist.

Wir überprüfen, ob das Stammverzeichnis nicht in der bedingten Erklärung null ist. Wenn dies der Fall ist, zeigen wir einen Fehler mit der Perror -Funktion an. Die Zeile „Inhalt der Wurzel:“ ist in der elsee Anweisung gedruckt. Überprüfen Sie dann, ob es keine null zurückgibt, wenn Sie eine Weile -Schleife in der Funktion "ReadDir" verwenden, was darauf hinweist. Der Name des Verzeichni. Nachdem Sie mit dem Verzeichnis alles getan haben, was Sie wollen, können Sie die Funktion "Closenir () von POSIX außerhalb des Schleifenblocks verwenden, um das geöffnete Verzeichnis zu schließen. Sparen wir zuerst den folgenden Code:


Geben Sie den Befehl wie im folgenden Bild gezeigt ein, um den C -Code mit dem GCC -Compiler zu kompilieren und die Ausgabe in der erforderlichen Ausgabe- oder Objektdatei zu speichern. Wenn Sie den Befehl nach dem -o -Flag nicht eingeben, speichert der Compiler Ihre Datei als „a).Out “Datei standardmäßig. Wenn das Ereignis, dass die Ausgabedatei bereits im Verzeichnis vorliegt, überschreibt dieser Befehl sie. Wir haben eine „Readdirfile“ gebaut.Ausgabedatei in unserem Szenario ausgab. Wenn es in der Befehlszeile korrekt ohne Fehler oder Warnungen kompiliert wird, führen Sie es einfach aus. Ansonsten beheben Sie den Code und kompilieren Sie ihn auf der Shell neu zusammen. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:


Verwenden Sie zum Ausführen der Ausgabedatei den folgenden Befehl, in dem die Ausgabe der Datei auf dem Bildschirm oder alle anderen im Code enthaltenen Befehle angezeigt wird. Die Readdir -Methode in unserem Code zeigt die Namen der Verzeichnisse des Root -Ordners an. Dies zeigt auch die Dateien an, die im Verzeichnis vorhanden sind. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:

Beispiel 2:

Verwenden Sie nun den VIM -Editor, um eine neue Datei mit dem Titel „ReadDireFile2) zu erstellen.C". Dadurch wird eine neue Datei erstellt und im Editor geöffnet. Drücken Sie "Escape" und klicken Sie auf die Taste 'I' auf der Tastatur, um den Einfügen/Bearbeitungsmodus im Editor zu aktivieren. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:


Kopieren Sie danach die folgenden Codezeilen. Der anfängliche Code ist der gleiche, aber die Variablennamen werden geändert. Der aktuelle Arbeitsverzeichnispfad wird mit dem Punkt an die Opendir -Funktion geliefert.) Zeichen in diesem Code. Danach sehen Sie, ob es null zurückgibt oder nicht. Wenn es NULL zurückgibt, verwenden Sie die Perror -Funktion, um den Fehler anzuzeigen und die Hauptfunktion zu beenden. Die Variable der Int -Dateien wird verwendet, um die Datei- und Ordnernummerierung im aktuellen Verzeichnis anzuzeigen. Wir haben diese Variable in der while -Schleife um 1 erhöht und dann den Befehl printf verwendet, um ihren Wert zusammen mit dem Namen der Datei oder des Ordners zu drucken. Schließen Sie außerhalb der while -Schleife das Verzeichnis mit der Verschlussmethode.


Kompilieren Sie nun den Code und speichern Sie die Ausgabe in „Reddirfile2.out “Datei. Der folgende zitierte Befehl wird in Kali Linux ausgeführt.


Der Befehl „LS“ kann verwendet werden, um eine Liste aller Dateien und Ordner in einem Verzeichnis anzuzeigen. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:


Nach der Ausführung der Ausgabedatei zeigt der Compiler alle Dateien im Terminal an, die sich im aktuellen Verzeichnis befinden. Der folgende zitierte Befehl wird in Kali Linux ausgeführt:

Abschluss

Jedes Dateisystem kann viele Dateien und Verzeichnisse bestehen, die mehr Daten enthalten. In diesem Artikel geht es um die Verwendung der Readdir -Funktion von C, um alle Dateien und Ordner des aktuellen Arbeitsverzeichnisses des Systems zu lesen.