Mange av oss kjenner den tradisjonelle bruk av scanf. Vel, her er noen av de mindre kjente fakta
Hvordan du skal lese bare en del av innspill som vi trenger? For eksempel, tenk deg litt input stream som bare inneholder tegn etterfulgt av et heltall eller en dupp. Og vi trenger å skanne bare som heltall eller flyttall.
Det er
Skriving: «dette er verdien 100»,
Output: verdien lese er 100
Skriving : «dette er verdien 21.2»,
Output : verdien lese er 21.,/div>, &a);
printf
(
"Input value read : a = %d"
, a);
return
0;
}
Nå, antakelig for vi vet ikke hva de foregående tegnene er, men vi sikkert vite at den siste verdien er et heltall., Hvordan kan vi skanne den siste verdien som et heltall?
Nedenfor løsningen fungerer bare hvis input strengen har ingen mellomrom.,
, &a);
printf
(
"Input value read : a=%d"
,a);
return
0;
}
Explanation: The %*s in scanf is used to ignore some input as required., I dette tilfellet ignorerer innspill til neste plass, eller ny linje. På samme måte hvis du skriver inn %*d det vil ignorere heltall til neste plass, eller ny linje.
De ovennevnte faktum kan ikke virke som et nyttig triks ved første øyekast. Inorder å forstå bruken av det, la oss først se fscanf().
fscanf() : Lei av alle clumpsy syntaks for å lese fra filene? vel, fscanf kommer til unnsetning.
int fscanf(FILE *ptr, const char *format, ...)
fscanf leser fra en fil som er pekt på av filpekeren (ptr), i stedet for å lese fra input stream.
bør du Vurdere følgende tekst fil abc.,txt –
NAME AGE CITYabc 12 hyderbadbef 25 delhicce 65 bangalore
Nå, vi ønsker å lese bare byen feltet ovenfor tekstfil, som overser alle de andre feltene. En kombinasjon av fscanf og triks som er nevnt ovenfor gjør dette med letthet
Output:
CITYhyderbaddelhibangalore
Trening: Telle antall ord, tegn og linjer i en fil ved hjelp av fscanf!
Denne artikkelen er levert av Nikhil Chakravartula., Hvis du liker GeeksforGeeks og ønsker å bidra, kan du også skrive en artikkel og sende artikkelen til [email protected]. Se artikkelen din vises på den GeeksforGeeks hovedsiden og hjelpe andre Geeks.