C-Programmierung

Posix Open-Funktion mit C-Programmierung

Posix Open-Funktion mit C-Programmierung
Das Konzept des Dateihandlings wird in allen Programmiersprachen umfassend verwendet. Speziell für C und C++ finden Sie umfangreiche Literatur zu den Informationen zum Konzept des Dateihandlings. Wenn Sie in C oder C++ auf eine Datei zugreifen oder diese ändern möchten, müssen Sie sie zuerst öffnen, entweder zum Lesen oder Schreiben. Das Öffnen einer Datei erfolgt mit Hilfe der Posix Open-Funktion Open.

Diese Funktion enthält eine Reihe von Parametern, die zusammen mit dieser Funktion übergeben werden, um eine angegebene Datei zu öffnen. Wir werden diese Parameter in der nächsten Überschrift unseres Artikels besprechen. Das Hauptziel dieses Artikels besteht jedoch darin, Sie über die Verwendung der Posix Open-Funktion in Linux Mint 20 . aufzuklären. In diesem Artikel erfahren Sie, wie die Open-Funktion mit der C-Programmierung funktioniert.

Parameter der Posix Open-Funktion

Die Posix Open-Funktion enthält zwei Parameter, die weiter in verschiedene Typen unterteilt sind. Der erste Parameter ist als bekannt Pfad, was sich auf den Speicherort der Datei bezieht, die Sie öffnen möchten. Wenn Sie Ihren C-Code erstellen, um eine Datei im selben Verzeichnis zu öffnen, in dem sich die zu öffnende Datei befindet, müssen Sie nur den Namen der Datei schreiben und ihren Pfad weglassen. Wenn sich die zu öffnende Datei jedoch in einem anderen Verzeichnis befindet, müssen Sie ihren vollständigen Pfad als Parameter für die Open-Funktion gefolgt von einem Schrägstrich ("/") angeben.

Der zweite Parameter der Posix Open-Funktion ist als bekannt Flagge, was sich auf die Optionen bezieht, mit denen Sie eine Datei öffnen können. Diese Optionen sind schreibgeschützt, schreibgeschützt, lesen und schreiben, Datei erstellen und Dateierstellung verhindern. Die entsprechenden Flags dieser Operationen sind O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, und O_EXCL beziehungsweise. Sie können entweder eines dieser Flags gleichzeitig verwenden oder mehrere Flags gleichzeitig kombinieren, je nach Ihren Anforderungen, getrennt durch das „|“ Symbol. Sie werden diese Flags besser verstehen, nachdem Sie das unten angegebene Beispiel gelesen haben.

Beispiel: Verwenden der Posix Open-Funktion in Linux Mint 20

Um ein Beispiel für die Verwendung der Posix Open-Funktion mit der C-Programmierung in Linux Mint 20 zu geben, haben wir ein Programm erstellt, das versucht, eine Datei zu öffnen. Wenn diese Datei bereits existiert, öffnet diese Funktion sie einfach; andernfalls erstellt die Funktion eine Datei mit dem angegebenen Namen. Jetzt werden wir uns alle Phasen der Ausführung dieses Programms ansehen, beginnend mit seiner Erstellung.

Schritt 1: Erstellen Sie ein Beispielprogramm zum Testen der Posix Open-Funktion

Hier haben wir im Home-Verzeichnis unseres Linux Mint 20-Systems ein Dokument erstellt und es OpenFunction genannt.c. Nachdem wir dieses Dokument erstellt haben, öffnen wir es und geben den im Bild unten gezeigten Code in diese Datei ein.

In dem im obigen Bild gezeigten Code haben wir eine Integer-Variable namens . erstellt fd, was sich auf den Dateideskriptor bezieht. Dieser Variable wird der Rückgabewert der Open-Funktion zugewiesen. Der Wert dieser Variablen ist „3“, wenn die Open-Funktion erfolgreich ausgeführt wird. Andernfalls ist sein Wert „-1.” In den Parametern der Open-Funktion haben wir einen Dateinamen angegeben, d.e., "Neue Datei.TXT.” Diese Datei war in unserem System zuvor nicht vorhanden, was bedeutet, dass unsere Öffnen-Funktion diese Datei erstellt.

Außerdem haben wir über die Flags der Open-Funktion festgelegt, dass, wenn die Datei bereits existiert, die Datei im schreibgeschützten Modus geöffnet werden soll; Wenn sie jedoch nicht existiert, erstellt die Open-Funktion einfach eine Datei mit dem angegebenen Namen. Wir haben auch angegeben, dass, wenn der Wert von fd Variable kleiner als Null ist, gibt die Funktion auch den Fehler aus, der beim Öffnen der angegebenen Datei aufgetreten ist. Schließlich können Sie Ihren Code speichern, indem Sie . drücken Strg + S.

Schritt 2: Beispielprogramm kompilieren

Nachdem wir das Beispielprogramm geschrieben haben, starten wir das Terminal, um es mit dem folgenden Befehl zu kompilieren:

$gcc OpenFunction.c -o OpenFunction

Hier, OpenFunction.c bezieht sich auf die Beispielprogrammdatei, die wir kompilieren möchten, während OpenFunction nach dem „-o“-Flag auf die Objektdatei verweist, die nach der Kompilierung erstellt wird.

Wenn die Kompilierung unseres Beispielprogramms erfolgreich durchgeführt wurde, sehen wir nach dem Ausführen des Programms keine Fehlermeldungen im Terminal, wie in der folgenden Abbildung gezeigt:

Schritt 3: Beispielprogramm ausführen

Nachdem wir unser Beispielprogramm kompiliert haben, können wir es schließlich in Linux Mint 20 ausführen, indem wir den folgenden Befehl ausführen:

$ ./OpenFunction

„OpenFunction“ bezieht sich hier auf dieselbe Objektdatei, die nach der Kompilierung unseres Beispielprogramms erstellt wurde.

Sie können in der Ausgabe unseres Beispielprogramms im Bild unten sehen, dass der Wert unserer Dateideskriptor-Variable, d.e., fd, ist „3“.” Diese Ausgabe bedeutet, dass der Code erfolgreich ausgeführt wurde. Mit anderen Worten, eine Datei namens „NewFile.txt“ wurde erfolgreich erstellt, da die Datei zuvor in unserem System nicht existierte. Wenn Sie möchten, können Sie sogar in Ihrem Home-Verzeichnis nachsehen, ob die Datei erstellt wurde.

Fazit

Das heutige Tutorial hat Ihnen gezeigt, wie Sie die Posix Open-Funktion mit C-Programmierung in Linux Mint 20 verwenden. Hoffentlich reicht das bereitgestellte Beispiel aus, um die Bedeutung dieser Funktion zu verdeutlichen. Egal aus welchem ​​Grund Sie eine Datei öffnen, Sie müssen diese Funktion dennoch verwenden, um Zugriff auf eine Datei zu erhalten. Ohne diese Funktion können Sie auf keine Dateien zugreifen. Daher müssen Sie sich mit der Verwendung dieser Funktion vertraut machen, bevor Sie die Dateiverarbeitung in C und C durchführen++.

Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...