C Dateiverwaltung
Eine Datei kann zum Speichern einer großen Menge persistenter Daten verwendet werden. Wie viele andere Sprachen bietet „C“ die folgenden Dateiverwaltungsfunktionen:
- Erstellen einer Datei
- Öffnen einer Datei
- Lesen einer Datei
- Schreiben in eine Datei
- Schließen einer Datei
Im Folgenden sind die wichtigsten Dateiverwaltungsfunktionen aufgeführt, die in „C“
Funktion | Zweck |
fopen () | Erstellen einer Datei oder Öffnen einer vorhandenen Datei |
fclose () | Schließen einer Datei |
fprintf () | Schreiben eines Datenblocks in eine Datei |
fscanf () | Lesen von a Daten aus einer Datei blockieren |
getc () | Liest ein einzelnes Zeichen aus einer Datei |
putc () | Schreibt ein einzelnes Zeichen in eine Datei |
getw () | Liest eine Ganzzahl aus einer Datei |
putw () | Schreiben einer Ganzzahl in eine Datei |
fseek () | Legt die Position eines Dateizeigers auf eine bestimmte Position fest. |
ftell () | Gibt die aktuelle Position von zurück ein Dateizeiger |
rewind () | Setzt den Dateizeiger am Anfang einer Datei |
In diesem Lernprogramm erfahren Sie, wie Sie eine Datei erstellen li.
- >
- So schließen Sie eine Datei:
- Schreiben in eine Datei
- fputc () Funktion:
- fputs () Funktion:
- fprintf () Funktion:
- Lesen von Daten aus einer Datei
- Interaktive Datei Lesen und Schreiben mit getc und putc
So erstellen Sie eine Datei
Wenn Sie mit einer Datei arbeiten möchten, müssen Sie zunächst eine Datei erstellen. Eine Datei ist nichts anderes als Speicherplatz in einem Speicher, in dem Daten gespeichert sind.
Um eine Datei in einem „C“ -Programm zu erstellen, wird folgende Syntax verwendet:
FILE *fp;fp = fopen ("file_name", "mode");
In der obigen Syntax ist die Datei a Datenstruktur, die in der Standardbibliothek definiert ist.
fopen ist eine Standardfunktion, mit der eine Datei geöffnet wird.
- Wenn die Datei nicht auf dem System vorhanden ist, wird sie erstellt und dann geöffnet.
- Wenn eine Datei bereits auf dem System vorhanden ist, wird sie direkt geöffnet Verwenden dieser Funktion.
fp ist ein Dateizeiger, der auf die Typdatei verweist.
Wenn Sie eine Datei öffnen oder erstellen, müssen Sie angeben, was Sie mit der Datei tun möchten. Eine Datei in der „C“ -Programmierung kann zum Lesen / Schreiben erstellt oder geöffnet werden. In einem Modus wird angegeben, ob Sie eine Datei für einen der unten angegebenen Zwecke öffnen möchten. Im Folgenden sind die verschiedenen Arten von Modi in der „C“ -Programmierung aufgeführt, die beim Arbeiten mit einer Datei verwendet werden können.
Dateimodus | Beschreibung |
r | Öffnen Sie eine Datei zum Lesen. Wenn sich eine Datei im Lesemodus befindet, werden keine Daten gelöscht, wenn eine Datei bereits auf einem System vorhanden ist. |
w | Öffnen Sie eine Datei zum Schreiben. Wenn sich eine Datei im Schreibmodus befindet, wird eine neue Datei erstellt, wenn eine Datei überhaupt nicht vorhanden ist. Wenn eine Datei bereits auf einem System vorhanden ist, werden alle Daten in der Datei abgeschnitten und zum Schreiben geöffnet Zwecke. |
a | Öffnen einer Datei im Anhänge-Modus. Wenn sich eine Datei im Anhänge-Modus befindet, wird die Datei geöffnet. Der Inhalt in der Datei ändert sich nicht. |
r + | von Anfang an zum Lesen und Schreiben geöffnet |
w + | Zum Lesen und Schreiben öffnen, eine Datei überschreiben |
a + | Zum Lesen und Schreiben öffnen, an Datei |
In der angegebenen Syntax werden der Dateiname und der Modus als Zeichenfolgen angegeben, daher müssen sie immer in doppelte Anführungszeichen gesetzt werden.
Beispiel:
#include <stdio.h>int main() {FILE *fp;fp = fopen ("data.txt", "w");}
Ausgabe:
Die Datei wird in demselben Ordner erstellt, in dem Sie Ihren Code gespeichert haben .
Sie können den Pfad angeben, in dem Sie Ihre Datei erstellen möchten
#include <stdio.h>int main() {FILE *fp;fp = fopen ("D://data.txt", "w");}
So schließen Sie eine Datei
Man sollte eine Datei immer schließen, wenn die Operationen in der Datei beendet sind. Dies bedeutet, dass der Inhalt und die Links zur Datei beendet werden. Dies verhindert eine versehentliche Beschädigung der Datei.
„C“ bietet die Funktion fclose zum Ausführen des Schließvorgangs. Die Syntax von fclose lautet wie folgt:
fclose (file_pointer);
Beispiel:
FILE *fp;fp = fopen ("data.txt", "r");fclose (fp);
Die fclose Die Funktion verwendet einen Dateizeiger als Argument. Die dem Dateizeiger zugeordnete Datei wird dann mit Hilfe der Funktion fclose geschlossen.Es gibt 0 zurück, wenn das Schließen erfolgreich war, und EOF (Dateiende), wenn beim Schließen der Datei ein Fehler aufgetreten ist.
Nach dem Schließen der Datei kann der gleiche Dateizeiger auch für andere Dateien verwendet werden.
Bei der „C“ -Programmierung werden Dateien automatisch geschlossen, wenn das Programm beendet wird. Das manuelle Schließen einer Datei durch Schreiben der Funktion fclose ist eine gute Programmierpraxis.
Schreiben in eine Datei
Wenn Sie in C in eine Datei schreiben, müssen die Zeilenumbruchzeichen „\ n“ explizit hinzugefügt werden.
Die stdio-Bibliothek bietet die erforderlichen Funktionen zum Schreiben in eine Datei:
- fputc (char, file_pointer): Schreibt ein Zeichen in die Datei, auf die file_pointer zeigt.
- fputs (str, file_pointer): Schreibt eine Zeichenfolge in die Datei, auf die file_pointer zeigt.
- fprintf (file_pointer, str, variable_lists): Es wird eine Zeichenfolge in die Datei gedruckt, auf die file_pointer zeigt. Die Zeichenfolge kann optional Formatspezifizierer und eine Liste von Variablenvariablenlisten enthalten.
Das folgende Programm zeigt, wie in eine Datei geschrieben wird:
fputc () Funktion:
Ausgabe:
Das obige Programm schreibt ein einzelnes Zeichen in die Datei fputc_test.txt, bis das nächste Zeilensymbol „\ n“ erreicht ist, das angibt, dass der Satz erfolgreich geschrieben wurde. Der Prozess besteht darin, jedes Zeichen des Arrays in die Datei zu schreiben.
- Im obigen Programm haben wir eine Datei erstellt und geöffnet Rufen Sie in einem Schreibmodus fputc_test.txt auf und deklarieren Sie unsere Zeichenfolge, die in die Datei geschrieben wird.
- Wir führen eine Zeichen-für-Zeichen-Schreiboperation mit der for-Schleife durch und fügen jedes Zeichen in unsere Datei ein, bis „\ n „Wenn das Zeichen gefunden wird, wird die Datei mit der Funktion fclose geschlossen.
fputs () Funktion:
AUSGABE:
- Im obigen Programm haben wir eine Datei mit dem Namen fputs_test.txt in einem Schreibmodus erstellt und geöffnet.
- Nachdem wir eine Schreiboperation mit der Funktion fputs () ausgeführt haben, schreiben wir drei verschiedene Zeichenfolgen
- Anschließend wird die Datei mit der Funktion fclose geschlossen.
fprintf () Funktion:
AUSGABE:
- Im obigen Programm haben wir eine Datei mit dem Namen fprintf_test.txt in einem Schreibmodus erstellt und geöffnet.
- Nachdem ein Schreibvorgang mit der Funktion fprintf () durch Schreiben einer Zeichenfolge ausgeführt wurde, wird die Datei mit der Funktion fclose geschlossen.
Lesen von Daten aus einer Datei
Es gibt drei verschiedene Funktionen zum Lesen von Daten aus einer Datei
- fgetc (file_pointer): Es wird das nächste Zeichen aus der Datei zurückgegeben, auf die der Dateizeiger zeigt. Wenn das Ende der Datei erreicht ist, wird der EOF zurückgesendet.
- fgets (buffer, n, file_pointer): Es liest n-1 Zeichen aus der Datei und speichert die Zeichenfolge in einem Puffer, in dem das NULL-Zeichen „\ 0“ als letztes Zeichen angehängt wird.
- fscanf (Dateizeiger, Konvertierungsspezifizierer, Variablenadressen): Wird zum Analysieren und Analysieren von Daten verwendet. Es liest Zeichen aus der Datei und weist die Eingabe mithilfe von Konvertierungsspezifizierern einer Liste von Variablenzeigern zu. Beachten Sie, dass fscanf wie bei scanf das Lesen einer Zeichenfolge beendet, wenn Leerzeichen oder Zeilenumbrüche auftreten.
Das folgende Programm demonstriert das Lesen aus der Datei fputs_test.txt mit fgets (), fscanf () und fgetc () funktioniert jeweils:
Ergebnis:
- Im obigen Programm haben wir die Datei „fprintf_test.txt“ geöffnet, die zuvor mit der Funktion fprintf () geschrieben wurde und die Zeichenfolge „Learning C with Guru99“ enthält. Wir lesen es mit der Funktion fgets (), die Zeile für Zeile liest, wobei die Puffergröße ausreichen muss, um die gesamte Zeile zu verarbeiten.
- Wir öffnen die Datei erneut, um die Zeigerdatei so zurückzusetzen, dass sie auf den Anfang von zeigt Datei. Erstellen Sie verschiedene Zeichenfolgenvariablen, um jedes Wort separat zu behandeln. Drucken Sie die Variablen aus, um ihren Inhalt anzuzeigen. Mit fscanf () werden hauptsächlich Daten aus einer Datei extrahiert und analysiert.
- Öffnen Sie die Datei erneut, um die Zeigerdatei auf den Anfang der Datei zurückzusetzen. Lesen Sie die Daten und drucken Sie sie mit der Funktion getc () zeichenweise aus der Datei aus, bis die EOF-Anweisung gefunden wird.
- Nachdem Sie eine Leseoperationsdatei mit verschiedenen Varianten ausgeführt haben, haben wir die Datei erneut mit der Funktion fclose geschlossen.
Interaktives Lesen und Schreiben von Dateien mit getc und putc
Dies sind die einfachsten Dateivorgänge. Getc steht für get charakter und putc steht für put charakter. Diese beiden Funktionen werden verwendet, um jeweils nur ein Zeichen zu verarbeiten.
Das folgende Programm demonstriert die Dateibehandlungsfunktionen in der „C“ -Programmierung:
Ausgabe:
- Im obigen Programm haben wir haben eine Datei namens Demo in einem Schreibmodus erstellt und geöffnet.
- Nachdem ein Schreibvorgang ausgeführt wurde, wird die Datei mit der Funktion fclose geschlossen.
- Wir haben erneut eine Datei geöffnet die jetzt Daten in einem Lesemodus enthält. Eine while-Schleife wird ausgeführt, bis der eof gefunden ist. Sobald das Dateiende gefunden wurde, wird der Vorgang beendet und die Daten werden mit der Funktion printf angezeigt.
- Nach dem Ausführen eines Lesevorgangs wird die Datei mit der Funktion fclose wieder geschlossen.
Zusammenfassung
- Eine Datei ist ein Speicherplatz in einem Speicher, in dem Daten gespeichert werden.
- „C. „Die Programmierung bietet verschiedene Funktionen für den Umgang mit einer Datei.
- Ein Mechanismus zum Bearbeiten der Dateien wird als Dateiverwaltung bezeichnet.
- Eine Datei muss geöffnet werden, bevor Operationen daran ausgeführt werden.
- Eine Datei kann im Lese-, Schreib- oder Anhänge-Modus geöffnet werden.
- Getc- und Putc-Funktionen werden zum Lesen und Schreiben eines einzelnen Zeichens verwendet.
- Die Die Funktion fscanf () ermöglicht das Lesen und Analysieren von Daten aus einer Datei.
- Wir können (mithilfe der Funktion getc) eine gesamte Datei lesen, indem wir eine Schleife ausführen, um die gesamte Datei abzudecken, bis die EOF angetroffen wird.
- Wir können nach dem Erstellen ihres Namens mit der Funktion fprintf () in eine Datei schreiben, und sie muss das newl haben ine Zeichen am Ende des Zeichenfolgentextes.