Viele von uns kennen die traditionellen Verwendungen von scanf. Nun, hier sind einige der weniger bekannten Fakten
Wie liest man nur einen Teil der Eingabe, die wir brauchen? Betrachten Sie beispielsweise einen Eingabestream, der nur Zeichen enthält, gefolgt von einer Ganzzahl oder einem Gleitkommawert. Und wir müssen nur diese ganze Zahl oder float scannen.
Das heißt ,
Eingabe: „Dies ist der Wert 100“,
Ausgabe: gelesener Wert ist 100
Eingabe:“Dies ist der Wert 21.2″,
Ausgabe: gelesener Wert ist 21.,/div>, &a);
printf
(
"Input value read : a = %d"
, a);
return
0;
}
Jetzt wissen wir vermutlich nicht, was die vorhergehenden Zeichen sind, aber wir wissen sicherlich, dass der letzte Wert die ganze Zahl ist., Wie können wir den letzten Wert als Ganzzahl scannen?
Die folgende Lösung funktioniert nur, wenn die Eingabezeichenfolge keine Leerzeichen enthält.,
, &a);
printf
(
"Input value read : a=%d"
,a);
return
0;
}
Explanation: The %*s in scanf is used to ignore some input as required., In diesem Fall ignoriert es die Eingabe bis zum nächsten Leerzeichen oder einer neuen Zeile. Wenn Sie %*d schreiben, werden Ganzzahlen bis zum nächsten Leerzeichen oder einer neuen Zeile ignoriert.
Die obige Tatsache mag auf den ersten Blick nicht als nützlicher Trick erscheinen. Um seine Verwendung zu verstehen, sehen wir zuerst fscanf().
fscanf (): Müde von all der plumpen Syntax aus Dateien zu lesen? nun, fscanf kommt zur Rettung.
int fscanf(FILE *ptr, const char *format, ...)
fscanf liest aus einer Datei, auf die der Dateizeiger (ptr) zeigt, anstatt aus dem Eingabestream zu lesen.
Betrachten Sie die folgende Textdatei abc.,txt
NAME AGE CITYabc 12 hyderbadbef 25 delhicce 65 bangalore
Jetzt möchten wir nur das Stadtfeld der obigen Textdatei lesen und alle anderen Felder ignorieren. Eine Kombination aus fscanf und dem oben genannten Trick macht dies mit Leichtigkeit
Ausgabe:
CITYhyderbaddelhibangalore
Übung: Zählen Sie die Anzahl der Wörter, Zeichen und Zeilen in einer Datei mit fscanf!
Dieser Artikel wird von Nikhil Chakravartula beigesteuert., Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel schreiben und Ihren Artikel per E-Mail an [email protected]. Sehen Sie Ihren Artikel auf der Hauptseite von GeeksforGeeks und helfen Sie anderen Geeks.