FREED C ++

FREED C ++
Die Handhabung der Datei ist einer der wesentlichen Teile aller Programmiersprachen. Das Schreiben kleiner und einfacher Code, der nur kleine Eingaben benötigt und eine kleine Ausgabe erzeugt, kann leicht am Terminal behandelt werden. Aber wenn es darum geht, eine große Eingabe zu geben, und die erbrachte Ausgabe ist auch riesig, dann werden die Dateien zur Verwendung erforderlich. Die Dateibehandlung bietet effiziente Programmiermethoden mit enormen Eingabe- und Ausgabedaten. Darüber hinaus müssen Sie nicht immer wieder denselben Eingang eingeben und die Ausgabe des Programms für die spätere Verwendung speichern. Hier lernen wir, Daten aus einer Datei durch die Verwendung der Datei zu lesen fread () Funktion.

Was ist die freie Funktion in C++?

Der frei Die Funktion wird vom CSTDIO bereitgestellt.H Bibliothek. Der CSTDIO.H Header -Datei enthält alle Funktionen, die in der Datei verwendet werden können, i, i.e., Lesen, schreiben usw. Der fread () Die Funktion wird mit Dateien verwendet, um einen Datenblock aus einem Eingabestream zu lesen. Es liest das Array von Zählobjekten, jedes Objekt des Größenbyte aus dem Eingabestream und speichert es im vom Zeiger angegebenen Ausgangsstrom, der angegeben ist. Die gesamten Bytes, die von der Fread -Funktion gelesen wurden, ist die Größe*Anzahl. Es gibt alle Elemente zurück, die erfolgreich gelesen werden.

Syntax der freien Funktion

Der frei Die Funktion nimmt vier Parameter an: P, S, C und ST. Die size_t ist ein nicht signierter Ganzzahltyp, der den variablen Typ definiert. Der Parameter 'P' bezieht. Der Parameter 's' hält die Größe jedes zu lesen jedes Elements. Der Dateistrom, aus dem wir die Daten lesen werden, wird durch die Option "ST" angezeigt. Es gibt die Elemente zurück, die erfolgreich gelesen werden, und im Fehlerfall könnten die Rückgabelemente geringer sein als die Anzahl. Die unten angegebenen Beispiele veranschaulichen die Arbeit der frei besser funktionieren.

Beispiel 1:
Im ersten Beispiel eines freien Artikel erstellen wir eine Textdatei auf dem Desktop und schreiben einige Daten darin. Die freie Funktion wird dann verwendet, um die Daten aus der Datei zu lesen. Siehe den Code unten:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

Datei* f;
Char B [100];
f = fopen ("Test.txt "," rb ");
während (!Lehen))

Fread (b, sizeof (b), 1, f);
Cout << b;

Rückkehr 0;

Zwei Header -Dateien, Bits/STDC++.H und CSTDIO sind zu Beginn im Programm enthalten. Beim Schreiben eines C ++ - Programms müssen die essentiellen Header -Dateien enthalten sein, damit ihre Dienstprogramme im Programm verwendet werden können.

Zum Beispiel trägt das CSTDIO alle Standardfunktionen, die auf Dateien wie Lesen, Schreiben und usw. funktionieren können. Ebenso die Bits/STDC++.H hält alle Standardbibliotheken. Wenn Sie dies einschließen, haben Sie alle Standardbibliotheken von C ++ in das Programm aufgenommen. Das 'Verwenden von Namespace STD' ist eine Standardbibliothek, mit der der Benutzer alle Funktionen der Standard -C ++ - Bibliothek verwenden kann. Wenn Sie sich vorwärts bewegen, ist der vollständige Code in der Funktion main () geschrieben, in der die gesamte Ausführung und Arbeit stattfindet.

Der Dateizeiger 'F' ist mit der Datei* f -Anweisung definiert, die auf den Speicherblock verweist. Ein Array 'B' von Größe 100 und Typ -Zeichen wird definiert, um die Größe der Daten zu halten, die aus dem Stream gelesen werden.

Der fopen () Die Funktion öffnet die Datei und nimmt mindestens zwei Argumente an, den Dateinamen und den Modus der Datei. Es wirft einen Fehler aus, wenn die Datei noch nicht vorhanden ist oder nicht gefunden werden kann. oder öffnen Sie einfach die vorhandene Datei. Der Dateimodus (lesen, schreiben, anhängen und etc.) bezieht sich auf den Modus, in dem die Datei geöffnet werden muss. Der Dateiname bezieht sich auf die Datei, die gelesen werden muss. Hier wird der RB -Modus bereitgestellt, der angibt, dass die Datei im Binärformat zum Lesen geöffnet werden sollte. Beim Öffnen der Datei müssen Sie den vollständigen Pfad der Datei angeben, in der sie existiert. Beispielsweise ist Ihre Datei im Dokument vorhanden, sodass Sie den Dokumenten wie folgt den vollständigen Pfad hinzufügen müssen: "C: \\ Benutzer \\\\ Dokument \\".

Als nächstes haben wir eine 'Whil' -Schleife definiert, die jedes Element in der Datei durchträgt und nur beendet, wenn es das EOF (Ende der Datei) findet (Ende der Datei). In der Schleife "while" wird die freie Funktion verwendet und alle vier Parameter werden zum Lesen aus der Datei übergeben. In der Cout -Anweisung werden die in der Datei auf dem Terminal vorhandenen Daten drucken.

Schließlich wird die Anweisung für die Rückgabe 0 verwendet, die angibt: Geben Sie im Falle einer erfolgreichen Ausführung nichts zurück. Drücken Sie die F11 -Taste in der Tastatur oder klicken Sie auf das Symbol Ausführungssymbol in der Software -Symbolleiste von Dev C ++, um das Programm auszuführen. Lassen Sie uns nun die folgende Ausgabe sehen:

Beispiel 2:
Lassen Sie uns die Funktionsweise der freien Funktion des Feads demonstrieren, wenn die Dateigröße Null ist. Siehe den Code unten:

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

Datei* f;
Char B [100];
f = fopen ("Test.txt "," rb ");
Cout<<"Size of the File = "<Rückkehr 0;

Hier ist die Ausgabe:

Beispiel 3:
Wie wir einige einfache und einfache Beispiele gesehen haben, lassen Sie uns mit einem komplizierten Beispiel arbeiten. Siehe den Code unten:

#enthalten
enum size = 5;
int main (void)

Doppelte A [Größe] = 10, 20, 50, 70, 100;
Datei *f = fopen ("C: \\ Benutzer \\" Systemname "\\ Desktop \\ Testing.bin "," wb ");
fwrite (a, sizeof *a, Größe, f);
fclose (f);
Double B [Größe];
f = fopen ("C: \\ Benutzer \\" Systemname "\\ Desktop \\ Testing.bin "," rb ");
size_t r = fread (b, sizeof *b, Größe, f);
if (r == Größe)
Puts ("Array Inhalte =");
für (int n = 0; n < SIZE; n++)
printf ("%f", b [n]);

fclose (f);

Hier haben wir ein "Aufzähler" deklariert, damit die "Größe" bequemer verwendet werden kann. Durch Ändern des Wertes einer Variablengröße ändert er sich im vollständigen Programm.

Es wird ein Array des Typs zum Typen erstellt, der die Daten enthält, die in der Datei geschrieben werden. fopen () Die Funktion öffnet eine binäre Datei im Schreibmodus 'WB'. Wenn die Binärdatei bereits vorhanden ist, wird sie im Schreibmodus geöffnet. Andernfalls erstellt es eine neue Datei mit dem angegebenen Dateinamen. Der fwrite () Funktion ist Castoff, um den Array -Inhalt in eine Datei zu schreiben. Der fwrite () Funktion nimmt die gleichen Parameter wie fread () Funktion. Nach dem Schreiben der Daten in der Datei die fcLose () Die Funktion wird verwendet, um die Datei so zu schließen, dass in der Datei keine unnötigen oder unbeabsichtigten Änderungen vorgenommen werden können.

Der Rest der freien Funktion ist der gleiche wie in früheren Beispielen. Lassen Sie uns das Ergebnis dieses Codes sehen:

Wie Sie sehen können, werden die Daten des Arrays erfolgreich in der Datei geschrieben.

Abschluss

In diesem Leitfaden hatten wir einen Überblick darüber fread () Funktion. Wir haben gelernt, wie man das benutzt frei Funktion mit Dateien zum Lesen der Daten. Wir haben die praktische Demonstration für drei verschiedene Möglichkeiten gegeben, die zu verwenden frei Funktion in C ++ - Programmiersprache.