Die Verwendung der FSCANF -Methode in C

Die Verwendung der FSCANF -Methode in C
Die FSCANF () -Methode in C wird verwendet, um Daten aus jeder Datei zu lesen. Diese Funktion liest aus dem Datenstrom oder genauer gesagt eine Sammlung von Zeichen aus einer Datei extrahiert. Darüber hinaus liest diese Methode den Pfad im Byte -Format, analysiert die Daten gemäß dem Format und behält die Konfiguration in ihrem Parameter für die Ausgabe bei. Es interpretiert von einer Datei, die auch eine Referenz enthält, ich.e., Ein Dateizeiger, mit dem er einen angegebenen Teil der Datei anstelle des gesamten Streams abrufen kann. Schauen wir uns die Funktion fscanf () tiefer an:

Greifen Sie aus einem Stream auf die individuellen Daten zu:

Hier nehmen wir Daten aus dem Stream und speichern sie an den Orten, die durch die verschiedenen Parameter gemäß der Argumentspezifikation angegeben sind. Die nachfolgenden Parameter können sich auf die Elemente der Kategorie beziehen, die durch ihre entsprechende Formatierungskennung in der bereits erstellten Formatzeichenfolge bereitgestellt wurde.

In diesem Fall erstellen wir eine bestimmte Datei und rufen den Namen und die Farbe der Frucht ab. Wir haben eine Datei namens „Datei.TXT “, das wir gebildet haben, wie unten gezeigt:

#enthalten
int main ()

Datei *fpointer;
Char Fn [20];
char clr [20];
fpointer = fopen ("Datei.txt "," w+");
if (fpointer == null)

printf ("Datei nicht gefunden. \N");
Rückkehr 0;

printf ("Fruchtname \ n");
scanf ("%s", fn);
fprintf (fpointer, "fruit name = %s \ n", fn);
printf ("Fruchtfarbe \ n");
scanf ("%s", clr);
fprintf (fpointer, "fruit color = %s \ n", clr);
fcLose (fpointer);

Wir müssen die Header -Datei #include integrieren, obwohl wir mit FSCANF () -Funktion zusammenarbeiten. Wenn wir diese Header -Datei nicht angeben, erhalten wir den Fehler. Jetzt initialisieren wir die main () -Methode. Wir können die Programmierung im Körper dieser Funktion beginnen.

Zunächst erstellen wir einen Konstruktor „FPOinter“ für die Datei. Darüber hinaus deklarieren wir zwei Variablen, „FN“ und „CLR“, die Datentyp -Zeichen haben. Wir verwenden die Funktion fopen (), um die definierte Datei zu öffnen. Als nächstes wenden wir den If -Zustand an. Wenn die definierte Datei im System nicht vorhanden ist, druckt die Funktion printf () "Datei nicht gefunden".

Darüber hinaus haben wir verschiedene Funktionen für verschiedene Zwecke angewendet. Wir verwenden scanf () -Funktion. Diese Funktion liest den Namen der Früchte aus der angegebenen Datei. Anschließend wird die Funktion fprintf () verwendet, um den „Fruchtnamen“ zu drucken und in der Variablen „FN“ gespeichert zu werden. In ähnlicher Weise haben wir erneut die scanf () -Methode verwendet, um die Farbe der Früchte aus der Datei zu erhalten. Diese Funktion fprintf () wird auch angewendet, um die „Fruchtfarbe“ zu drucken. Jetzt wird der Farbwert in seiner Variablen „CLR“ gespeichert. Am Ende deklarieren wir die Funktion fCLOSE (), die definierte Datei zu schließen.

Umwandeln Sie die Hexadezimalzahl in Dezimalzahl:

Die FSCANF () -Methode liefert die Anzahl der genau übereinstimmten und zugewiesenen Eingangselemente. Übergänge, die durchgeführt wurden, aber vielleicht nicht delegiert wurden, sind nie in den resultierenden Wert enthalten. Eine hexadezimale Ganzzahl wird als Eingabe für eine %x -Transformationskennung verwendet, wie unten angegeben:

#enthalten
int main (void)

int num;
printf ("Geben Sie eine hexadezimale Nummer ein: \ n");
while (scanf ("%x", & num))

printf ("hexadezimale Zahl = %x \ n", num);
printf ("Dezimalzahl = %d \ n", num);

Nach der Einführung der Header -Datei definieren wir die main () -Funktion. Im nächsten Schritt initialisieren wir eine Variable mit dem Namen "Num", die eine Datentyp -Ganzzahl im Körper der Haupt- () -Funktion hat. Die printf () -Funktion wird angewendet, um eine hexadezimale Nummer vom Benutzer zu erhalten. Dann verwenden wir die while -Schleife. Diese Schleife endet, wenn die eingegebene Nummer keine Hexadezimalzahl ist. In der Zwischenzeit verwenden wir die scanf () -Methode, die die Hexadezimalzahl in eine Dezimalzahl umwandelt. Das prozentuale Zeichen (%) und die eingegebene Zahl werden als Parameter an die scanf () -Methode übergeben.

Hier liefert das Prozentsatz (%) Symbol Conversion -Anforderungen. Diese Conversion -Kennung weist die Funktion scanf () zum Lesen und Transformieren von Zeichen aus der Eingabe in die Konvertierungs -Format -String -Daten an und transformiert sie. In der Parameterliste wird der Wert einer der Variablen zugeordnet. Die scanf () -Methode liest die angegebene Datei von links nach rechts. Es wird erwartet, dass Wörter außerhalb der Konvertierungsparameter die Zeichenfolge des Eingabestreams einstellen. Während die relevanten Buchstaben in der Eingabedatei analysiert, aber nicht gespeichert sind.

Die Funktion endet mit einem „identischen“ Fehler, wenn ein Wort im Eingabestream der Datei widerspricht. Wenn das widersprüchliche Wort möglicherweise nicht gelesen wurde, bleibt es im Datenstrom gelassen. Wir wenden erneut die printf () -Methode an, um eine Hexadezimal- und eine Dezimalzahl zu drucken. Diese Zahlen sind in der Variablen "Num" gespeichert. Wie nachfolgend dargestellt:

Holen Sie sich den Namen und den Status des Mitarbeiters:

In diesem Fall werden wir die Mitarbeiterdaten aus einer Datei lesen. Holen Sie sich dann den Namen und den Status des Mitarbeiters:

#enthalten
int main ()

Datei *fpointer;
Char Empnname [30];
Char -Status [30];
fpointer = fopen ("Datei.txt "," w+");
if (fpointer == null)

printf ("Datei wird nicht gefunden. \N");
Rückkehr 0;

printf ("Mitarbeitername \ n");
scanf ("%s", Empname);
fprintf (fpointer, "name = %s \ n", Empname);
printf ("Status des Mitarbeiter \ n");
scanf ("%s", Status);
fprintf (fpointer, "status = %s \ n", Status);
fcLose (fpointer);

Bevor wir den Code im Körper der Main () -Funktion schreiben, müssen wir die Header -Datei einschließen . Diese Header -Datei ist sowohl für Eingabe als auch für die Ausgabe erforderlich. Die Funktion main () wird jetzt initialisiert und wir machen einen Zeiger für die Datei.

Zusätzlich definieren wir die Zwei-Charakter-Datentypvariablen "Empname" und "Status". Um auf die erforderliche Datei zuzugreifen, verwenden wir die fopen () -Methode. In der Zwischenzeit werden der Pfad und der Modus der Datei als Argumente für die Funktion fopen () bereitgestellt. Dann verwenden wir den If -Zustand. Der Befehl printf () druckt "Datei nicht gefunden", wenn die definierte Datei nicht verfügbar ist.

Darüber hinaus wird die scanf () -Methode angewendet. Der Name des Mitarbeiters wird mit dieser Funktion aus dieser angegebenen Datei abgerufen. Als nächstes wird die Funktion fprintf () verwendet, um den „Mitarbeiternamen“ anzuzeigen, der in der Variablen „Empnname“ gespeichert wird. Ebenso haben wir die Funktion scanf () verwendet, um den Status des Mitarbeiters aus der Datei zu erwerben. Die Fprintf () -Methode wird auch verwendet, um den „Mitarbeiterstatus“ anzuzeigen. Dies wird in der Variablen „Status“ gespeichert.

Schließlich definieren wir die fcLose () -Methode, mit der die bestimmte Datei geschlossen wird.

Abschluss:

In diesem Artikel haben wir den Prozess der FSCANF () -Methode in C erörtert. Wir haben die FSCANF () -Methode verwendet, um Informationen aus einer Datei zu extrahieren. Es enthält normalerweise zwei Argumente Streams und Formate. Wir untersuchen auch Möglichkeiten, um diese Funktion zu implementieren. Diese Funktion ist besonders nützlich, wenn wir nur bestimmte Informationen aus einer Datei und nicht aus dem gesamten Stream lesen müssen. Wir können den hexadezimalen Wert mit dieser Funktion in den Dezimalwert umwandeln. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in den anderen Linux -Hinweisartikeln.