O_rdonly, o_wronly und o_rdwr Flags in der C -Sprache

O_rdonly, o_wronly und o_rdwr Flags in der C -Sprache

In der Programmierung können wir die Dateiverwaltung ermöglichen, auf jede Art von Informationen zu speichern und zugreifen, unabhängig davon.

Die C -Sprache bietet unter anderem die Funktion open () zum Erstellen oder Öffnen von Dateien. Diese Funktion öffnet oder erstellt eine Datei, die in den Eingabeargumenten durch ihren absoluten oder relativen Pfad angegeben ist.

Wenn wir diese Funktion verwenden, haben wir die Möglichkeit, über Flags die Attribute zu geben, die die zu öffnende oder erstellte Datei haben müssen, z. B. ob es schreibgeschützt sein sollte, das Schreiben oder beides.

In diesem Linux -Hinweis In Artikel erfahren Sie, wie Sie die Lese- und Schreibattribute von Dateien mithilfe der Dateien angeben O_rdonly, O_wronly, Und O_RDWR Flaggen.

Wir werden uns eine theoretische Beschreibung dieser Flags ansehen und dann ihre Verwendung in Beispielen implementieren, die Code -Snippets und Bilder enthalten, bei denen wir Lesen und Schreiben von Attributen mit diesen Flags festgelegt haben.

Beschreibung der Flags o_rdonly, o_wronly und o_rdwr.

Die Flaggen O_rdonly, O_wronly Und O_RDWR werden in der Funktion open () verwendet, um den Öffnungsmodus einer Datei anzugeben. Um besser zu verstehen, worum es bei diesen Flags geht, schauen wir uns die Syntax zusammen mit einer kurzen Beschreibung dieser Funktion an.

int offen (char *path, int flags)

Die Funktion open () öffnet die in der angegebene Datei Weg In einem der folgenden drei in der angegebenen Modi Flaggen:

O_RDONLY: Öffnen oder erstellen Sie eine schreibgeschützte Datei

O_wronly: Öffnet oder erstellt eine nur Schreibdatei.

O_RDWR: Öffnet oder erstellt eine Datei mit Lese- und Schreibzugriff.

Die Funktion open () verwendet auch zusätzliche Flags wie O_ creat, um eine Datei zu erstellen oder

O_ anhängen, um Text hinzuzufügen. In Fällen, in denen mehr als ein Flag im Flags -Eingabeargument verwendet wird, muss eine logische oder Operation zwischen ihnen durchgeführt werden.

Diese Flaggen und die Funktionen, die sie verwenden, sind in der „FCNTL.H ”Kopfball. Deshalb müssen wir sie in unsere einbeziehen “.c ”Datei wie folgt, um sie zu verwenden:

#enthalten

So öffnen Sie eine Datei mit Lesen- und Schreibberechtigung mithilfe der Funktion Open () und die Flags O_RDONLY, O_WRONLY und O_RDWR in der C -Sprache.

In diesem Beispiel zeigen wir Ihnen, wie Sie eine Datei mit Lese- und Schreibberechtigungen öffnen können. Dazu verwenden wir die Funktion open () und geben den Pfad und den Namen der Datei in der Datei an Weg Eingabeargument und die O_RDWR lesen und Schreiben Flagge in den Eingangsflaggen. Hier ist der Code:

#enthalten
#enthalten
void main ()

int fd offen ("Dokumente/Beispiel.txt ", o_rdwr);

Auf diese Weise gibt Open () den FD -Deskriptor zurück, den wir mit der Funktion von Read () und Write () verwenden können, um die Datei zu lesen und zu schreiben.

Erstellen Sie eine Datei und setzen.

In diesem Beispiel erstellen wir eine Datei mit dem Namen "Beispiel.txt" und speichern Sie es in der "Unterlagen" Verzeichnis mit den nur den Lesungattributen mit dem O_rdonly Flagge.

Dazu fügen wir den Header „fcntl hinzu.H ”zu unserer Datei und rufen Sie die Funktion open () auf, die den relativen Pfad und den Namen der Datei in der Datei angeben Weg Eingabargument, das in diesem Fall ist „Dokumente/Beispiel. txt".

Da wir die Datei erstellen wollen, verwenden wir die O_ creat Flagge. Und da wir es schreibgeschützte Attribute geben wollen, verwenden wir die O_rdonly Flagge. Wir müssen also eine logische oder operation zwischen diesen beiden Flags ausführen. Hier ist der Code für dieses Beispiel:

#enthalten
#enthalten
void main ()

int fd offen ("Dokumente/Beispiel.txt ", o_creat | o_rdonly);

Wir kompilieren den Code in der Linux -Befehlskonsole mit GCC und geben den Pfad und den Namen der “an.c ”Datei und den Namen der Ausgabe, wie unten gezeigt:

~ $ GCC Dokumente/o_flags.c -o o_flag

Und wir führen die Ausgabe mit dem folgenden Befehl aus:

~ $ ./o_flag

Wenn Sie diesen Code ausführen, erstellt die Funktion open () eine Datei mit schreibgeschützten Attributen. In der folgenden Abbildung können wir die im Linux-Dateimanager erstellte Datei und seine schreibgeschützten Attribute in ihren Eigenschaften sehen.

Wenn wir eine Datei mit Lese- und Schreibzugriff erstellen möchten, müssen wir die verwenden O_RDWR Flagge wie unten gezeigt:

#enthalten
#enthalten
void main ()

int fd offen ("Dokumente/Beispiel.txt ", o_creat | o_rdwr);

In diesem Fall erstellt die Funktion open () eine Datei mit Lese- und Schreibattributen, wie in der folgenden Abbildung gezeigt.

Abschluss

In diesem Linux -Hinweis Artikel über die C -Sprache haben wir erklärt, wie Sie die verwenden können O_rdonly, O_wronly, Und O_RDWR Flags, um den Open -Modus einer Datei auszuwählen, wenn Sie die Funktion open () verwenden.

Wir haben Ihnen auch gezeigt, wie Sie Dateien mithilfe der Funktion open () und die erstellen können O_ creat Flagge und wie Sie Lesen und Schreiben von Berechtigungen zuweisen, indem Sie eine logische oder Operation zwischen ihm und der durchführen O_rdonly Und O_wronly Flaggen.

Wir hoffen, dass Sie diesen Artikel nützlich gefunden haben. Weitere Artikel über die C -Sprache und Linux -Tipps finden Sie die Suchmaschine auf unserer Website.