Schreiben Sie die Funktion in der C -Sprache

Schreiben Sie die Funktion in der C -Sprache

Die Dateiverwaltung in der Programmierung ist eine Aufgabe, die der Programmierer fließend fließen muss. Das Wissen über die verschiedenen offenen Funktionen, Lesen und Schreiben ist unerlässlich, da wir sie immer benötigen, um die Informationen zu speichern oder zu entsorgen, die in Dateien gespeichert sind.

In diesem Linux -Hinweis -Artikel erfahren Sie, wie Sie die Funktion write () zum Schreiben der Dateien verwenden.

Wir werden alles über diese Ella, ihre Syntax, die Anrufmethode, die Eingabe- und Ausgabemargumente, die Art der Daten, die sie in jedem Fall akzeptieren.

Anschließend wenden wir das an, was wir gelernt haben, indem wir die Verwendung dieser Funktion in praktische Beispiele eingeleitet haben, die wir mit Code -Ausschnitten und -bildern für Sie vorbereitet haben, wobei die Verwendung von Write () in der C -Sprache angezeigt wird.

Damit Sie umfassende Kenntnisse über die Verwendung der Funktion write () haben, haben wir einen speziellen Abschnitt hinzugefügt, der die einzelnen Fehler beschreibt, die bei der Verwendung dieser Funktion auftreten können, sowie deren Erkennung und Identifizierung, damit Sie die haben notwendige Techniken für eine schnelle Lösung im Falle ihres Auftretens.

Syntax der Funktion write () in C -Sprache

int write (int fd, void *buf, size_t n);

Beschreibung der Funktion write () in C -Sprache

Die Funktion write () schreibt in eine geöffnete Datei. Diese Funktion schreibt den Inhalt des Puffer. Die Größe des in die Datei geschriebenen Blocks muss im Eingabeargument „N“ angegeben werden.

Um mit der Funktion write () schreiben zu können, muss die Datei mit der Funktion open () geöffnet und in den Attributen o_rdonly oder o_rdwr angegeben werden. Ansonsten hat diese Funktion keinen Einfluss.

Wenn der Anruf erfolgreich ist, gibt er die Anzahl der eingegebenen Zeichen zurück. Wenn beim Schreiben ein Fehler auftritt, gibt er ein Ergebnis zurück, das gleich -1 entspricht. Der Identifikationscode, der den Fehler anzeigt.H ”Kopfball.

Später finden Sie einen Abschnitt, in dem wir erklären, wie die häufigsten Fehler dieser Funktion erfasst und identifiziert werden können.

Die Funktion write () ist in der „Unistd.H ”Kopfball. Die Flags, die die Attribute und den Modus zum Öffnen der Datei definieren, sind in „FCNTL.H". Um die Funktionen von Open () und Write () zu verwenden, müssen Sie diese Header wie folgt in Ihren Code aufnehmen:

#enthalten
#enthalten

So schreiben Sie in eine Datei mit der Funktion write () in C -Sprache in eine Datei

In diesem Beispiel schreiben wir eine leere Textdatei mit dem Namen „Beispiel.txt ”, das wir früher im Verzeichnis„ Dokumente “erstellt haben.

Der erste Schritt besteht darin, die erforderlichen Header einzulegen. Öffnen Sie in der Funktion main () die Datei mit der Funktion open (). Dazu müssen wir die "FD" -Gefeger deklarieren, die als Dateideskriptor dient, und das 1024-Charakter-BUF-Pufferarray, das den Text enthält, den wir in die Datei schreiben möchten. In diesem Puffer speichern wir den ersten Absatz der GCC -Mannseite, um ihn in das Beispiel zu schreiben.txt ”Datei.

Nach dem Öffnen der Datei mit der Funktion open () im Read-/Schreibmodus schreiben wir in die Datei, indem wir die Funktion write () aufrufen und den "FD" -Dateideskriptor als erstes Eingabemargument übergeben, den Zeiger "BUF" als zweite als zweite Argument und die Größe der Zeichenfolge, die im Array als drittes Argument enthalten ist, das wir mit der Funktion strlen () erhalten. Hier ist der Code für dieses Beispiel:

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
void main ()

int fd;
Zeichenpuffer [1024] = "Wenn Sie GCC aufrufen. Mit den Gesamtoptionen können Sie diesen Prozess in einer Zwischenstufe stoppen. Zum Beispiel heißt es in der Option -c, den Linker nicht auszuführen.Dann besteht die Ausgabe aus Objektdateien, die vom Assembler ausgegeben wurden.";
fd = open ("Dokumente/Beispiel.txt ", o_rdwr);
Write (FD & Buffer, Strlen (Buffer));
schließen (fd);

In der folgenden Abbildung sehen wir die Kompilierung und Ausführung dieses Code zusammen mit der geöffneten Datei, die von der Funktion write () geschrieben wurde:

So fügen Sie am Ende einer Datei einen Text mit der Funktion write () in C -Sprache hinzu

Wenn eine Datei geöffnet wird, indem die O_Wronly- oder O_RDWR -Flags angegeben werden, springt der Cursor zur ersten Position und beginnt von dort aus zu schreiben.

Um einen Text am Ende einer Datei hinzuzufügen, muss er durch eine logische oder Operation zwischen den Flags O_Wronly oder O_RDWR angegeben werden. Auf diese Weise wird der Cursor am Ende der Datei platziert und das Schreiben beginnt von dort aus. Außerdem können die Attribute und der Schreibmodus geändert werden, sobald die Datei mit der Funktion fcntl () geöffnet ist.

In der folgenden Abbildung sehen Sie einen Code, der am Ende der Datei, die wir im vorherigen Beispiel geschrieben haben, einen Text hinzufügen:

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
void main ()

int fd;
Zeichenpuffer [1024] = "Dieser Text wird hinzugefügt. Dieser Text wird hinzugefügt.";
fd = open ("Dokumente/Beispiel.txt ", o_rdwr | o_append);
Write (FD & Buffer, Strlen (Buffer));
schließen (fd);

Das folgende Bild zeigt den hinzugefügten Text. Wie Sie sehen können, beginnt mit dieser Eröffnungsmethode die Funktion write () an der Position des letzten Zeichens, das in die Datei geschrieben wurde:

So erfassen und identifizieren Sie die Fehler, die auftreten können, wenn die Funktion write () in der C -Sprache verwendet wird

Verwenden von Write () kann verschiedene Fehler generieren. In diesem Fall gibt diese Funktion ein Ergebnis zurück, das -1 entspricht.

Der einfachste Weg, um festzustellen, ob ein Fehler aufgetreten ist. Lassen Sie uns nun sehen, wie Sie diese Methode verwenden können, um festzustellen, ob ein Fehler aufgetreten ist:

int n;
n = write (fd & buffer, strlen (puffer));
if (n == -1)
printf ("Ein Fehler ist beim Versuch aufgetreten, die Datei zu schreiben.");

Wenn die Funktion write () mit einem Fehler zurückgibt, wechselt sie zur Anweisung „if“ und druckt die Nachricht ausBeim Versuch, die Datei zu schreiben, trat ein Fehler auf“.

Wenn ein Fehler eintritt.H ”Kopfball. Dieser Code kann verwendet werden, um den aufgetretenen Fehler zu identifizieren.

Das Folgende ist ein Auszug mit den Fehlern, die die Funktion write () generieren kann und die im „Errno“ definiert sind.H ”Header zusammen mit einer kurzen Beschreibung jedes Fehlers und des zugehörigen Ganzzahlwerts:

Definition Wert in errno Fehler
Eagain 11 Versuchen Sie es erneut.
Ebadf 9 Falsche Dateinummer.
EDESTADDRREQ 89 Zieladresse erforderlich.
Edquot 122 Überschritten die Quote.
Efault 14 Falsche Adresse.
Efbig 27 Datei zu groß.
Eintr 4 Systemaufruf unterbrochen.
Einval 22 Ungültiges Argument.
EIO 5 E/A -Fehler.
Enospc 28 Kein Speicherplatz auf Gerät.
Eperm 1 Operation nicht erlaubt.

Der einfachste Weg, um einen Fehler zu identifizieren, besteht darin.

Sehen wir uns als nächstes ein Beispiel an, in dem wir versuchen, einen Deskriptor mit einem negativen Vorzeichen einzugeben, was zu einem Fehler führt. Um einen Fehler zu identifizieren, verwenden wir die „if“ -Konstufe, die wir im vorherigen Snippet gesehen haben. Um es zu identifizieren, öffnen wir einen Schalter mit den drei häufigsten Fehlern, die diese Funktion erzeugen kann.

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
void main ()

int fd;
int n;
Zeichenpuffer [1024] = "Hallo Welt";
fd = open ("Dokumente/Beispiel.txt ", o_rdwr);
n = write (-2 & buffer, strlen (puffer));
if (n == -1)
Switch (errno)
Fall Ebadf:
printf ("schlechte Dateinummer. Fehler: %i \ n ", errno);
brechen;
Fall Einval:
printf ("ungültiges Argument. Fehler: %i \ n ", errno);
brechen;
Fall EIO:
printf ("E/A -Fehler . Fehler: %i \ n ", errno);
brechen;


Wie wir in der folgenden Abbildung sehen können, gibt die Funktion write () einen Fehler zurück, wenn ein ungültiger Deskriptor als Eingabeargument übergeben wird. Der Wert, der aus der Errno -Variablen abgerufen wird.

Abschluss

In diesem Linux -Hinweis -Artikel haben wir Ihnen gezeigt, wie Sie mit der Funktion write () in die Dateien schreiben können. Wir haben Ihnen die Syntax und die theoretische Beschreibung dieser Funktion gezeigt. Wir haben auch die Fehlererkennungs- und Identifikationsmethoden erläutert, damit Sie über die erforderlichen Tools und Techniken verfügen, um diese Probleme schnell zu lösen.

Um zu sehen, wie Write () funktioniert.

Wir haben Ihnen auch gezeigt, wie Sie den Open -Modus der Datei aus auswählen, um einen Text am Anfang oder am Ende der Datei einzufügen und welche Funktionen zur Änderung dieser Attribute verfügbar sind.