Offene 2 C -Funktion

Offene 2 C -Funktion
Möglicherweise haben Sie viele Arten von C -Funktionen ausprobiert, während Sie die C -Codes in der Linux -Plattform ausführen. Diese Funktionen können einige Eingangs- und Ausgangsvorgänge ausführen, wie es die meisten Funktionen normalerweise tun. Eine dieser 2 C -Funktionen ist die Open () -Funktion. Die Funktion open () in der C -Programmiersprache öffnet eine Datei im angegebenen Pfad oder Verzeichnis. Wenn die im Code angegebene angegebene Datei am bestimmten Ort nicht vorhanden ist, kann diese Funktion eine Ausnahme ausgeben oder sie auf dem angegebenen Ort/Pfad erstellen, wenn bestimmte Flags übergeben werden. Wir können daraus schließen, dass die offene Funktion gleichermaßen wertvoll zum Lesen und Schreiben ist. Wir decken also die Verwendung der offenen 2 C -Funktion in unserem Ubuntu 20 ab.04 Plattform zusammen mit einigen Beispielen.

Syntax
Die Syntax der Open () -Funktion in der C -Sprache ist unten angegeben. Lassen Sie uns seine Parameter diskutieren:

int offen (const char* path, int flags [, int modus]);

Weg

Pfad ist der Titel der Datei, die Sie öffnen oder erstellen möchten. Es bezieht sich auch auf den Standort der Datei. Wenn wir nicht im selben Verzeichnis wie die Datei arbeiten, können wir einen absoluten Weg bieten, der mit „/“ beginnt. Wir können alternativ einen relativen Pfad angeben, in dem wir in einigen Fällen nur den Dateinamen und die Erweiterung erwähnen.

Flaggen

Um die Flaggen zu verwenden, finden Sie hier die Liste mit ihren jeweiligen Erklärungen:

  • O_rdonly: Öffnen Sie im schreibgeschützten Modus die Datei.
  • O_wronly: Öffnen Sie in einem Nur-Schreibmodus die Datei
  • O_RDWR: Öffnen Sie die Datei im Lese- und Schreibmodus
  • O_creat: Dieses Flag wird angewendet, um eine Datei zu erstellen, wenn es im angegebenen Pfad oder Verzeichnis nicht vorhanden ist
  • O_excl: Verhindert die Dateierstellung, wenn sie bereits im Verzeichnis oder Ort vorhanden ist.

Hier steht o für Open Function.

Header -Datei/Bibliothek

Die folgende Bibliotheks- oder Header -Datei wird im Code für diese Funktionsverwendung verwendet.

#enthalten

Verwenden Sie den VIM -Editor, um eine Datei in diesem bestimmten Verzeichnis oder Pfad zu erstellen oder zu öffnen. Die „OpenFile.C ”ist der Name der Datei, die wir erstellt haben. Wenn wir diesen Befehl eingeben, öffnet der Editor die Datei im Bearbeitungsmodus, sodass wir die Codezeilen in die Datei eingeben können. Um den VIM -Editor zu schließen und die Datei zu speichern, drücken.

Die folgenden Codezeilen werden in die „OpenFile“ eingegeben.c ”Datei. Wir verwenden einen relativen Weg, um das „testopen“ zu öffnen.txt ”Datei im folgenden Code. Die Flags o_rdonly (nur) und O_Creat wurden übergeben (erstellen Sie das „TestOpen“.txt ”Datei, wenn sie im aktuellen Verzeichnis nicht vorhanden ist).

Die Printf -Funktion wird nun verwendet, um den Rückgabewert im Dateideskriptor anzuzeigen. Wir überprüfen dann, ob der Dateideskriptor -1 gleich ist, was angibt, dass die geöffnete Datei fehlgeschlagen ist, und druckt den Fehler aus.

Wir verwenden den GCC -Compiler, um die Datei zusammenzustellen. Wenn Sie nicht den GCC C-Kompiler installiert haben, führen Sie die folgenden Befehle aus, um ihn zu erhalten. Führen Sie einfach die nachfolgende Anweisung im Terminal aus, um die GCC-Compiler-Version auf Ihrem Linux-Ubuntu-System anzuzeigen:

sudo APT -Update
sudo apt installieren build-wesentlich

Geben Sie den folgenden Befehl ein, um das „OpenFile“ zu kompilieren.c ”im GCC -Compiler. Der folgende Befehl enthält den GCC -Compiler. Geben Sie anschließend die Datei an, die wir zusammen mit der Erweiterung und dem -o -Flag kompilieren möchten (zum Ausgabe der Datei in eine bestimmte Objektdatei, die gleich nach diesem Flag angegeben ist):

GCC Openfile.C -o Openfile.aus

Alternativ können wir den Befehl vor der Flagge ausführen, die ein „a“ erzeugt.OUT ”Objektdatei im aktuellen Verzeichnis standardmäßig. Überprüfen Sie die Ausgabe- oder Objektdatei mit dem Befehl "Listenverzeichnis", i, i, i.e. Datei öffnen.aus.

Geben Sie den folgenden Befehl ein, um die Ausgabe- oder Objektdatei auszuführen oder auszuführen, wodurch der Dateideskriptor gleich 3 angezeigt wird. Es zeigt an, dass die bereitgestellte Datei (testopen.txt) ist im Verzeichnis mit der Ausgabedatei vorhanden.

Öffnen Sie die C -Datei erneut mit dem VIM -Editor, ändern Sie jedoch diesmal den Dateinamen (OpenFile1.txt) in der offenen Funktion. Dann speichern und schließen Sie die „Openfile.c ”Datei.

Eine weitere Änderung des Befehls offener ist die Übergabe der O_RDonly Flag, die die „OpenFile1“ öffnet.txt ”im schreibgeschützten Modus. Dies bedeutet, dass wir nur die Daten der Datei lesen können. In dieser angegebenen Datei können wir die Funktion "Schreib- oder Aktualisierung" nicht ausführen.

Kompilieren Sie die Datei erneut, um die Ausgabedatei zu aktualisieren. Führen Sie danach den Code mit der Objektdatei aus. Da wir die angegebene Textdatei im aktuellen Verzeichnis nicht haben, hat die Verwendung der Funktion open () einen Fehler geworfen und ein -1 zurückgegeben, der in der Variablen "FileDescriptor" des Ganzzahl -Typs gespeichert ist. Der folgende Bildschirm zeigt die Ausgabe der OpenFile an. Wenn die Ausgabedatei nicht angegeben wurde, geben Sie einfach ein “./A.OUT ”im Terminal, um die Ausgabe der Datei zu sehen.

Wir haben die „Openfile geöffnet.C ”Datei im VIM -Editor noch einmal und verwendete das O_EXCL -Flag im Befehl öffnen. Dies impliziert, dass, wenn die angegebene Datei im Verzeichnis nicht vorhanden ist, sie nicht erstellen. Wenn ja, öffnen Sie es einfach. Weil es keine “OpenFile1 gibt1.TXT ”-Datei Im Listenverzeichnis gibt die geöffnete Methode einen Fehler zurück.

Der folgende Bildschirm zeigt, dass wir die angegebene Datei nicht im Pfad haben, und die offene Funktion gibt -1 zurück. Dies zeigt an, dass keine solche Datei oder kein solcher Verzeichnis vorliegt. Wenn der Befehl für die Ausgabedatei falsch eingegeben wird, wird der generische Fehler zurückgegeben - "Keine solche Datei oder Verzeichnis".

Abschluss

In diesem Artikel geht es um die Verwendung der Open 2 C -Funktion im Kali Linux -System. Mit diesem Systemaufruf haben wir besprochen, wie er zum Öffnen und Lesen der Datei und dessen Inhalt einfach verwendet werden kann. Wir haben besprochen, wie es einen Fehler verursacht, wenn der Dateideskriptor die erforderliche Datei nicht findet.