So lesen Sie eine Textdatei und drucken Sie alle Zeichenfolgen in C

So lesen Sie eine Textdatei und drucken Sie alle Zeichenfolgen in C

Lesen einer Textdatei und drucken alle Saiten ist eine Schlüsselaufgabe, die häufig von C -Programmierern durchgeführt wird. Es ist wichtig, die Grundlagen von zu verstehen Lektüre A Textdatei in c und wie zu drucken Die Saiten Von ihm vor dem Versuch dieser Aufgabe.

Das Lesen einer Textdatei und das Druck aller Strings, die sie enthält, wird mithilfe der C -Programmierung in diesem Artikel demonstriert.

Lesen Sie eine Textdatei und drucken Sie alle Zeichenfolgen in c

Es gibt vier Funktionen, um eine Textdatei zu lesen und alle Zeichenfolgen in C zu drucken, die wie folgt sind:

  • fread ()
  • fGets ()
  • fscanf ()
  • fGetc ()

Methode 1: fread () Funktion

Daten sind Lesen Sie aus der Datei und in einem Puffer mit der C -Funktion gespeichert fread (). Um Elemente in einem Array -Puffer zu zählen, die fread () Methode liest sich aus dem als Funktionsparameter bereitgestellten Eingabestream ab. Wie in jeder Zeichenfunktion liest.

Der fread () Die Methode in C hat die Syntax.

size_t fread (void * array_buffer, size_t size, size_t count, file * file_stream)

Schauen wir uns die Funktionsparameter von Fread () ausführlicher an:

Array -Puffer: Die Daten werden vorübergehend im Puffer eines Computers, einem Speicherplatz, gehalten. Dieses Argument ist ein Zeiger, der sich auf den Ort im Speicher des Puffer bezieht, der die Daten enthalten lesen aus dem Eingangsstrom.

Größe: Dieses Argument weist die Funktion an, wie viele Datenbytes für jeden Block aus dem Eingabestream gelesen werden.

zählen: Es gibt an, wie viele Zeichen aus dem Dateneingangsstrom gelesen werden.

Datenfluss: Es ist ein Zeiger, der sich auf ein Dateiobjekt bezieht.

#enthalten
#enthalten
int main ()
Datei *Datei;
Zeichenpuffer [100];
Datei = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Fehler: Die Datei nicht öffnen \ n");
Rückkehr 1;

int count = fread (& buffer, sizeof (char), 100, Datei);
fcLose (Datei);
printf ("Daten aus der Datei lesen: %s \ n", Puffer);
printf ("Anzahl der Elemente gelesen: %d", count);
fcLose (Datei);
Rückkehr 0;

In diesem Beispiel definieren wir einen Charakter -Array -Puffer der Größe 100 vor der Verwendung fopen () So öffnen Sie die Textdatei C_file.txt Im Lesemodus. Mit einer IF -Anweisung stellen wir fest, ob die Datei erfolgreich geöffnet wurde. Der folgende Schritt ist zu lesen 100 Datenbytes aus der Datei verwenden fread (). Der Zielpuffer ist in diesem Fall das Pufferarray der erste Parameter zu fread (). Das zweite Argument, Größe von, bestimmt die Größe jedes Elements, das gelesen wird, während wir in Zeichen lesen. Die dritte Eingabe ist die zu lesen Menge, die in diesem Fall ist 100. Der Dateizeiger ist der vierte Parameter. Zuletzt verwenden wir printf () Um die aus der Datei gelesenen Daten zu drucken und fcLose () Um die Datei zu schließen. Das Ausführen dieses Programms würde zu solchen Ergebnissen führen, wenn C_file.txt:

Ausgang

Methode 2: fGets () Funktion

Die C -Sprache der Sprache fGets () Die Methode liest n Zeichen aus dem Stream in den String String. Der fGets () Die Methode liest weiterhin Zeichen aus dem Stream, bis (N-1) Es wurde Zeichen gelesen, ein neues Zeilenzeichen wurde erkannt, oder das Ende der Datei (EOF) wurde erreicht.

#enthalten
int main ()
Datei *Datei;
Zeichenpuffer [100];
Datei = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Fehler: Die Datei nicht öffnen \ n");
Rückkehr 1;

while (fGets (Buffer, 100, Datei))
printf ("Zeichenfolge aus der Datei gelesen: %s", Puffer);

fcLose (Datei);
Rückkehr 0;

Dieses Beispiel verwendet fopen () um eine Textdatei aufgerufen zu öffnen C_file.txt Im Lesemodus, nachdem er zum ersten Mal einen Charakter -Array -Puffer der Größe deklariert hatte 100. Mit einer IF -Anweisung stellen wir fest, ob die Datei erfolgreich geöffnet wurde. Danach beschäftigen wir eine Weile Schleife und fGets () So lesen Sie Textlinien aus der Datei mit einem Dateizeiger. Verwendung printf () Innerhalb der Schleife drucken wir jede Textzeile. Das Ausführen dieses Programms würde die Ausgabe liefern:

Ausgang

Methode 3: FSCANF () -Funktion

Eine Standardbibliotheksmethode genannt fscanf () Akzeptiert eine Reihe von Parametern und verwandelt sie in Werte, die Ihre Anwendung verwendet wird. Während Lesen aus der Datei, Es wird die Formatzeichenfolge anstelle von allem zurückgeben, was es erwartet. Um zu verhindern, dass Ihre Software die Formatzeichenfolge als Teil ihrer eigenen Syntax interpretiert, muss sie in Zitaten umgeben sein ("").

#enthalten
int main ()
Datei *Datei;
int num1, num2, num3;
Datei = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Fehler: Die Datei nicht öffnen \ n");
Rückkehr 1;

FSCANF (Datei " %d %d %d", & num1, & num2, & num3);
printf ("Zahlen aus der Datei gelesen sind: %d, %d, %d \ n", num1, num2, num3);
fcLose (Datei);
Rückkehr 0;

Dieses Beispiel öffnet die Datei C_file.txt im Read -Modus, indem Sie zuerst 3 int -Variablen deklarieren, Num1, Num2 und Num3. Mit einer IF -Anweisung stellen wir fest, ob die Datei erfolgreich geöffnet wurde. Der folgende Schritt besteht darin, drei Zahlen aus der Datei mithilfe der Datei zu lesen fscanf () und das %D Formatspezifizierer. In den Variablen Num1, Num2 und Num3 werden die Werte aufbewahrt. Zuletzt verwenden wir printf () die Werte dieser Variablen ausgeben und fcLose () Um die Datei zu schließen. Das Ausführen dieses Programms würde zu den unten gezeigten Ergebnissen führen:

Ausgang

Methode 4: FGETC () -Funktion

Eine Datei kann sein lesen Zeichen durch Zeichen verwenden die fGetc () Funktion. Der ASCII -Code für das Zeichen, das diese Funktion liest, wird durch diese Funktion zurückgegeben. Das Zeichen aus dem angegebenen Speicherort des Dateizeigers wird zurückgegeben. Das folgende Zeichen wird gelesen, sobald das Zeichen gelesen wurde, gemäß dem Dateizeiger. Diese Methode gibt eine EOF -Datei zurück, wenn sich der Zeiger am Ende der Datei befindet oder wenn ein Problem vorliegt.

#enthalten
int main ()
Datei *Datei;
Char C;
Datei = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Fehler: Die Datei nicht öffnen \ n");
Rückkehr 1;

while ((c = fGetc (Datei)) != Eof)
printf ("%c", c);

fcLose (Datei);
Rückkehr 0;

In diesem Fall verwenden wir die fopen () Befehl zum Öffnen der Textdatei C_file.txt Im Lesemodus. Mit einer IF -Anweisung stellen wir fest, ob die Datei erfolgreich geöffnet wurde. Danach beschäftigen wir eine Weile Schleife und fGetc () Zeichen aus der Datei lesen. Das aus der Datei empfangene Zeichen wird der Variablen zugeordnet C innerhalb der Schleife, bevor Sie mithilfe von Drucken gedruckt werden printf (). Die Schleife läuft weiter bis zur Eof (Ende der Datei) Konstante erkennt das Ende der Datei. Das Ausführen dieses Programms würde die folgenden Ergebnisse erzielen, wenn C_file.txt enthält das Wort "LinuxHint".

Ausgang

Abschluss

Durch die Verwendung der oben beschriebenen Schritte kann C verwendet werden Lesen Sie eine Textdatei Und Drucken Sie alle Saiten es beinhaltet. Es beginnt mit der Verwendung der fopen () Systemaufruf zum Öffnen der Datei, gefolgt von der Verwendung von fscanf (), fread (), fgets (), fGetc () Die Daten lesen. Anschließend wird die Datei mithilfe der Datei geschlossen fcLose () und A für Schleife wird verwendet, um die Saiten zu drucken. Durch die Verwendung dieser Techniken kann C verwendet werden, um Daten effizient zu lesen und zu drucken.