So lesen Sie Eingaben aus einer Datei in C

So lesen Sie Eingaben aus einer Datei in C
Die Informationen gehen verloren, sobald ein Programm beendet ist. Wenn wir die Daten in einer Datei speichern, wird sie beibehalten, obwohl das Programm abstürzt. Wenn wir viele Daten zum Einfügen einfügen, muss dies mehr Zeit benötigen. Wenn wir jedoch eine Datei haben, die alle Inhalte enthält, würden wir sie schnell mit einigen C -Funktionen abrufen. Wir werden die Datei direkt ohne Änderungen von einem Gerät auf das andere übertragen.

Es gibt zwei Arten von Dateien: Text und binär. Textdateien sind diejenigen mit der Erweiterung .txt. Diese Dateien sind einfach zu erstellen. Wenn wir auf diese Dateien zugreifen, erhalten wir einen klaren Text für alle Informationen. Die Daten können einfach geändert oder gelöscht werden. Die Erweiterung .Bin bezeichnet eine binäre Datei. Anstatt Informationen in klarem Text beizubehalten, tun sie dies in Binärzahlen (0S und 1s).

Lassen Sie uns die verschiedenen Ansätze zum Lesen des Inhalts einer Datei ausführlich besprechen.

Verwenden Sie die Funktion fseek (), um Eingaben aus der Datei zu lesen

Wenn wir eine große Anzahl von Einträgen in einer Datei haben und sie einzeln an einer bestimmten Position abrufen möchten, müssen wir vor diesem Punkt jedes Element durchführen. Es würde eine erhebliche Menge an Speicher- und Verarbeitungszeit verbrauchen. Durch die Funktion fseek () können wir die erforderlichen Informationen effizienter erhalten.

#enthalten
#enthalten
Struktur Thrnumber

int num1, num2, num3;
;
int main ()

int n;
Struktur Thrnumber -Nummer;
Datei *fptr;
if ((fptr = fopen ("file_1.txt "," r ")) == null)
printf ("Datei kann nicht geöffnet");
Ausgang (1);

FSEEK (FPTR, -SIZEOF (struct thrnumber), such_end);
für (n = 1; n < 5; ++n)

Fread (& nummer, sizeof (struct trnumber), 1, fptr);
printf ("n1: %d \ tn2: %d \ tn3: %d \ n", Zahl, Zahl.Num1, Nummer.Num2, Nummer.Num3);
fseek (fptr, -2*sizeof (struct thrnumber), seeex_cur);

fcLose (fptr);
Rückkehr 0;

Hier werden wir das Programm starten, indem wir die erforderlichen Header -Dateien #include und #include integrieren . Jetzt erstellen wir eine Funktion und dann werden drei verschiedene Variablen initialisiert. Diese Variablen haben einen Ganzzahl -Datentyp. Danach deklarieren wir die Funktion main () und beginnen mit der Codierung im Körper der Main () -Funktion.

Darüber hinaus erstellen wir einen Dateizeiger. Die Anweisung "Wenn" wird dann angewendet. Hier setzen wir den Dateizeiger gleich der Funktion fopen (). Die Funktion fopen () wird verwendet, um die angegebene Datei zu öffnen. Mit Hilfe der IF -Anweisung prüfen wir, ob der angegebene Pfad der Datei gleich 'null' Printf -Anweisung entspricht, die Textdatei "kann nicht geöffnet" druckt. Andernfalls verlässt das Programm.

Weitere FSEEK () -Methoden werden verwendet. Es enthält drei Parameter. Das erste Argument enthält den Dateizeiger. Das zweite Argument zeigt den Speicherort der angegebenen Datei. In ähnlicher Weise zeigt das letzte Argument den Punkt an, an dem die Abweichung beginnt. Darüber hinaus bewerben wir uns für eine Schleife. Wir deklarieren die Variable und setzen die Bedingung für die Zahl und schließlich machen wir einen Wert des Wertes einer Zahl.

Um den Text aus der angegebenen Datei zu erhalten, verwenden wir die Fread () -Funktion. Jetzt müssen wir das Ergebnis drucken, damit die printf () -Funktion verwendet wird. Noch einmal wenden wir die Funktion fseek () an. Am Ende, um die angegebene Datei zu schließen, haben wir die Funktion fcLose () verwendet.

Verwenden Sie die Funktion fGetC (), um Eingaben aus einer Datei zu lesen

Die Funktion fGetC () ruft die Zeichen ab, auf die der Funktionsindikator bezeichnet wird. Es liefert das vom Stream empfangene Wort und passt den Lesepunkt nach jeder gültigen Lektüre an das nächste Wort an. Wenn jedoch keine Daten vorhanden sind, wird diese Methode eine Variable EOF berechnet (-1).

#enthalten
#enthalten
#enthalten
int main ()

Datei* fptr;
Char Chr;
fptr = fopen ("Daten.txt "," r ");
if (null == fptr)
printf ("Datei kann nicht geöffnet \ n");

printf ("Daten der Datei ist \ n Name: Amna \ n Alter: 24 \ n Name: Sara \ n Alter: 16 \ n Name: Aneela \ n Alter: 30 \ n");
Tun
chr = fGetc (fptr);
printf ("%c", chr);
while (chrt != Eof);
fcLose (fptr);
Rückkehr 0;

Zunächst geben wir drei Header -Dateien ein. Die Standardbibliothek ist die Kennung der Header -Datei . Es enthält Daten zur Verfügbarkeit der Speicher und kostenlosen Methoden. Standard-Eingabeausgabe ist die Kennung der Header-Datei . Es enthält Daten zu Eingabe-/Ausgabemethoden. Die Header -Datei enthält Makrodeklarationen, Variablen und Definitionen von Methoden und Klassen, die nicht nur für die Textverarbeitung, sondern auch für verschiedene Speicherhandhabungsfunktionen verwendet werden.

Im nächsten Schritt initialisieren wir die main () -Funktion. Hier wird ein Zeiger einer bestimmten Datei konstruiert, und wir deklarieren eine Variable mit einem Zeichendatentyp. Als nächstes verwenden wir die Funktion fopen (). Diese Methode enthält zwei Argumente: Der erste Parameter zeigt den Dateinamen an und der zweite Parameter zeigt den Modus der Datei an. Hier öffnet die fopen () -Methode die definierte Datei im Lesemodus. Wir haben die IF -Anweisung verwendet, um zu überprüfen, ob der Zeiger der Datei gleich 'null' ist oder nicht. Wenn der Dateizeiger gleich 'null' ist, endet der angegebene Programm. Andernfalls verwenden wir die Printf () -Funktion, um den Inhalt der Datei zu drucken.

Darüber hinaus gehen wir durch die Verwendung einer DO-While-Schleife durch jeden Charakter nacheinander durch. Hier deklarieren wir die Funktion fGetC (), um die Daten aus der definierten Datei abzurufen. Jetzt wenden wir die While -Schleife an, um zu untersuchen, ob der angegebene Charakter nicht am Ende der Linie sein würde. Wenn es so wäre, hören Sie auf zu lesen. Die fcLose () -Methode wird verwendet, und dies bringt die Datei zum Schluss.

Während der Verwendung der Funktion fGetC () liest der oben genannte Code die gesamten Daten der Datei, ein einzelnes Zeichen gleichzeitig. Eine Schleife würde verwendet, um Zeichen abzurufen, es sei denn, sie kommen am Ende der Datei. Es erzeugt den EOF (-1) -Hal, wenn es die Schlussfolgerung erreicht.

Abschluss

In diesem Artikel haben wir verschiedene Wege durchlaufen, mit denen die Daten aus der Datei gelesen werden. Hier haben wir die Methoden FGetC (), Fread () und FSEEK () angewendet, um Inhalte mit Hilfe bestimmter Beispiele zu erhalten. Dies alle sind vordefinierte Funktionen der C-Sprache. Um jedes einzelne Wort einer Datei zu lesen, haben wir die fGetC () -Methode verwendet. Ähnlich wie beim Extrahieren konfigurierter Daten in eine Datei haben wir die FSEEK () -Methode verwendet.