Opendir 3 C -Funktion

Opendir 3 C -Funktion
Die Funktion von Opendir () war weithin für die Öffnung einiger Verzeichnisströme wie den Namen eines Verzeichnisses und die Rückgabe des Zeigers in dieses bestimmte Verzeichnis bekannt. Die Opendir -Funktion in der C -Programmiersprache ist in der Header -Datei definiert und ist Teil der POSIX -Spezifikation (tragbare Betriebssystemschnittstelle). Die Opendir -Funktion nimmt nur ein einzelnes Argument an, bei dem es sich um einen Zeichenzeiger handelt. Das Argument „Name“ ist im Wesentlichen der Weg zum Verzeichnis, den wir öffnen werden. Wenn der Pfad zum angegebenen Verzeichnis nicht existiert oder falsch ist, gibt diese Funktion NULL zurück. Wenn der Verzeichnispfad korrekt und gültig ist, gibt die Opendir -Funktion eine Dir* -Verzeichnisstruktur von Zeigertypen aus.

Der DIR -Datentyp wird verwendet, um einen Verzeichnisstrom auszudrücken, obwohl er vom Benutzer nicht zugewiesen werden sollte. Wir werden uns ansehen, wie diese Methode in einigen C -Codes in diesem Artikel verwendet wird.

Beispiel 01:

Mit dem VIM -Editor haben wir die „Opendirfile produziert.c ”Datei. Sie können jeden Editor, einschließlich Nano, auswählen. Wenn die Datei im VIM -Editor geöffnet wird, geben Sie den im folgenden Screenshot gezeigten Code ein. Das aktuelle Verzeichnis, das als DOT abgekürzt wird (.) wird im folgenden Code geöffnet und geschlossen:

Die Ausgabe des vorherigen Codes lautet:

Die Funktionen zum Lesen und Manipulieren von Verzeichnissen/Ordnern sind in der C -Sprache verfügbar. Es ermöglicht Ihren Programmen, die Dateien zu verarbeiten und andere Dateivorgänge auszuführen.

Beispiel 02:

Jetzt schreiben wir den erweiterten Code, um das vollständige Konzept zu verstehen und zu lernen, wie man ausführt und kompiliert. Die Header -Dateien sind in den ersten beiden Zeilen enthalten. Anschließend wird die Hauptfunktionssignatur aufgerufen. Sie sehen. Innerhalb der Hauptblockfunktion ist die erste Zeile eine direkte Struktur, die im Wesentlichen eine Darstellung des Verzeichnissystems ist. Es kann die Seriennummer der Datei sowie die Namen der Ordner im angegebenen Pfad enthalten.

Wir haben eine Zeigervariable genannt, die PDIR in der zweiten Zeile des Codes bezeichnet. Anschließend gibt es eine bedingte Aussage, die hauptsächlich verwendet wird, um zu überprüfen, ob die Befehlszeile die richtige Menge an Argumenten enthält. Wenn die gelieferten Werte ungültig sind, drucken Sie die Nachricht aus und beenden Sie die Funktion, ohne den folgenden Code auszuführen. Wenn die Eingabe korrekt ist, speichern Sie ihn in der PDIR -Variablen und überprüfen Sie, ob es sich nicht um Null handelt. Wenn es null ist, bedeutet dies, dass es kein Verzeichnis gibt oder der Pfad falsch oder illegal ist.

In diesem Fall wird die Return -Anweisung ausgeführt und der Compiler beendet die Ausführung der Zeilen des Code darunter. Wenn der PDIR -Parameter nicht null ist, zeigt er an, dass der vom Benutzer bereitgestellte Verzeichnisname legitim und korrekt ist und dass das Verzeichnis existiert, das die Dateien und Ordner enthalten kann. Die Readdir -Funktion wird in der WHOR -Schleife in den folgenden Codezeilen verwendet, um die Namen von Dateien und Ordnern anzuzeigen, die in diesem Verzeichnis vorhanden sind. Am Ende der Linie schließen wir die PDIR -Variable. Verwenden Sie den Befehl „LS“, um eine umfassende Liste der Dateien zu erhalten, die Sie im Arbeitsverzeichnis generiert haben. Weitere Informationen finden Sie im folgenden Bildschirm:

Danach verwenden Sie den GCC -Compiler, um die C -Datei zu kompilieren. Wenn Ihr System keinen GCC -Compiler hat, verwenden Sie den folgenden Befehl, um den Compiler auf Ihrem Betriebssystem oder Ihrer virtuellen Maschine zu installieren:

$ sudo APT Update
$ sudo apt installieren build-wesentlich

Sie können überprüfen, ob Sie es bereits auf Ihrem Betriebssystem oder virtuellen Computer installiert haben, indem Sie den folgenden Befehl ausführen:

GCC -Version

Jetzt haben Sie alles, was Sie benötigen, um den C -Code zu kompilieren und auszuführen/auszuführen. Verwenden Sie zunächst den im Bild angegebenen Befehl, um den Code zu erstellen. Geben Sie anschließend "GCC" und den Namen der Datei ein, die Sie kompilieren oder eine Objekt- oder Ausgabedatei erstellen möchten. Wenn Sie die verbleibenden Argumente in der Befehlszeile nicht angeben, wird die Ausgabe in einem „a gespeichert.out “Datei.

Wenn Sie jedoch Ihre Ausgabedatei benennen möchten, wie auch immer Sie möchten, geben Sie "-o" ein. Geben Sie dann den Namen der Ausgabedatei ein, gefolgt von der “.OUT ”Erweiterung.

Bevor Sie sich weiter bewegen, müssen Sie ein paar weitere Dinge wissen, die in Macintosh und später Windows, der Begriff „Ordner“ verwendet wird. Früher war es ein Verzeichnis, eine Liste der in den Speichermedien gespeicherten Dateien. Um die Datei auszuführen, verwenden Sie einfach den folgenden Befehl, der die “enthält“./NAME DER AUSGABEDATEI.aus". Wie Sie sehen können, werden die Ausgabedatei ohne Befehlszeilenargumente wie einen Verzeichnispfad ausgeführt, sodass wir feststellen, dass die Eingabe ungültig ist.

Wenn wir die Ausgabedatei ausführen, geben wir den Verzeichnisnamen im folgenden Bildschirm an. Möglicherweise sehen Sie die Liste der Dateien und Ordner, die nach dem Drücken der Eingabetaste im Arbeitsverzeichnis vorhanden sind.

Eine weitere Option zur Lieferung des Verzeichnisnamens besteht darin, den gesamten Verzeichnispfad oder nur den Teil des Pfades zu geben, in dem wir uns jetzt befinden. Im folgenden Beispiel liefern wir die „Arbeiten/Arbeit.

Wie Sie im folgenden Beispiel sehen können, haben wir einen Verzeichnis oder einen Ordnernamen angegeben, der im aktuellen Verzeichnis, in dem sich unsere Ausgabedatei befindet, nicht vorhanden ist. Wenn PDIR NULL zurückgibt, zeigen oder melden wir einen Fehler an, der angibt, dass das Verzeichnis nicht geöffnet werden kann.

Abschluss

In diesem Artikel geht es um die Verwendung der Funktion von Opendir () von C in Kali Linux mit der Demonstration seines Arbeitsprozesses. Wir haben die einfachen, aber effizienten Beispiele von C erörtert, um die erforderlichen Ergebnisse zu erzielen. Die anderen POSIX -Funktionen werden für die Seitenhilfe in den Codes verwendet.