Bruken av FSCANF -metoden i C

Bruken av FSCANF -metoden i C
FSCANF () -metoden i C brukes til å lese data fra hvilken som helst fil. Denne funksjonen leser fra datastrømmen eller mer presist en samling av tegn fra en fil. Dessuten leser denne metoden banen i byte -format, analyserer dataene i henhold til formatet og beholder konfigurasjonen i sin parameter for utgang. Den tolker fra en fil som også har en referanse, i.e., En filpeker, som lar den hente en spesifisert del av filen i stedet for hele strømmen. La oss se en dypere titt på FSCANF () -funksjonen:

Få tilgang til de tilpassede dataene ut av en strøm:

Her tar vi data fra strømmen og lagrer dem på stedene som er spesifisert av de forskjellige parametrene, i henhold til argumentspesifikasjonen. De påfølgende parametrene kan forholde seg til elementene i kategorien levert av deres passende formateringsidentifikator i formatstrengen som allerede er opprettet.

I dette tilfellet lager vi en spesifikk fil og henter fruktens navn og farge. Vi har en fil som heter “Fil.txt ”som vi vil ha dannet, som vist nedenfor:

#inkludere
int main ()

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

printf ("Fil ikke funnet. \ n ");
retur 0;

printf ("fruktnavn \ n");
scanf ("%s", fn);
fprintf (fpointer, "fruktnavn = %s \ n", fn);
printf ("fruktfarge \ n");
Scanf ("%s", CLR);
fprintf (fpointer, "fruktfarge = %s \ n", clr);
fclose (fpointer);

Vi må integrere overskriftsfilen #include til tross for at vi jobber med FSCANF () -funksjonen. Hvis vi ikke inkluderer denne overskriftsfilen, får vi feilen. Nå initialiserer vi Main () -metoden. Vi kan starte programmeringen i kroppen av denne funksjonen.

Først oppretter vi en konstruktør "fpointer" for filen. Videre erklærer vi to variabler, “FN” og “CLR”, med datatype -tegn. Vi bruker fopen () -funksjonen for å åpne den definerte filen. Deretter bruker vi IF -tilstanden. Hvis den definerte filen ikke er til stede i systemet, skriver ikke printf () -funksjonen "-filen" ikke funnet ".

I tillegg til dette brukte vi forskjellige funksjoner for forskjellige formål. Vi bruker SCANF () -funksjon. Denne funksjonen leser navnet på frukten fra den spesifiserte filen. Deretter brukes Fprintf () -funksjonen til å skrive ut "fruktnavnet" og lagres i variabelen "FN". Tilsvarende benyttet vi igjen SCANF () -metoden for å få fargen på frukten fra filen. Denne fprintf () -funksjonen brukes også for å skrive ut "fruktfargen". Nå lagres verdien av fargen i sin variable “CLR”. Til slutt erklærer vi FCLOSE () -funksjonen for å lukke den definerte filen.

Konverter heksadesimalt tall til desimalnummer:

FSCANF () -metoden gir antall nøyaktig matchede og tildelte inngangselementer. Overganger som ble gjort, men kanskje ikke delegerte, er aldri inkludert i den resulterende verdien. Et heksadesimalt heltall brukes som inngang for en %x -transformasjonsidentifikator, som angitt nedenfor:

#inkludere
Int Main (Void)

int num;
printf ("Skriv inn et heksadesimalt tall: \ n");
while (scanf ("%x", & num))

printf ("heksadesimal tall = %x \ n", num);
printf ("desimaltall = %d \ n", num);

Etter å ha introdusert overskriftsfilen, definerer vi Main () -funksjonen. I neste trinn initialiserer vi en variabel med navnet “Num”, som har et datatype -heltall inne i kroppen til hoved- () -funksjonen. PRINTF () -funksjonen brukes for å få et heksadesimalt nummer fra brukeren. Deretter bruker vi mens du sløyfe. Denne sløyfen avsluttes hvis det angitte nummeret ikke er et heksadesimalt tall. I mellomtiden bruker vi SCANF () -metoden, som konverterer det heksadesimale tallet til et desimaltall. Prosentstegnet (%) og det angitte nummeret sendes som parametere til SCANF () -metoden.

Her gir prosent (%) symbolet konverteringskrav. Denne konverteringsidentifikatoren instruerer Scanf () -funksjonen om hvordan du kan lese og transformere tegn fra inngangen til konvertering av formatstrengdata. I parameterlisten tildeles verdien til en av variablene. SCANF () -metoden leser den spesifiserte filen fra venstre til høyre. Ord utenfor konverteringsparametrene forventes å justere inngangsstrømmens streng med tegn; Mens de relevante bokstavene i inndatafilen blir analysert, men ikke lagret.

Funksjonen avsluttes med en "identisk" feil hvis et ord i inngangsstrømmen motsier filen. Hvis det motstridende ordet kanskje ikke har blitt lest, blir det igjen i datastrømmen. Vi bruker igjen printf () -metoden for å skrive ut en heksadesimal og et desimaltall. Disse tallene lagres i variabelen “Num”. som vist under:

Få navnet og statusen til den ansatte:

I dette tilfellet vil vi lese ansattes data fra en fil. Få deretter navnet og statusen til den ansatte:

#inkludere
int main ()

Fil *fpointer;
char empname [30];
Char status [30];
fpointer = fopen ("Fil.txt "," w+");
if (fpointer == null)

printf ("filen er ikke funnet. \ n ");
retur 0;

printf ("ansattes navn \ n");
scanf ("%s", empname);
fprintf (fpointer, "name = %s \ n", empname);
printf ("Status of Employee \ n");
scanf ("%s", status);
fprintf (fpointer, "status = %s \ n", status);
fclose (fpointer);

Før vi skriver koden i kroppen til Main () -funksjonen, må vi inkludere overskriftsfilen . Denne overskriftsfilen er nødvendig for både inngang og utgang. Main () -funksjonen er nå initialisert, og vi lager en peker for filen.

I tillegg definerer vi to-karakterdatatypevariablene, "EmpName" og "Status". For å få tilgang til den nødvendige filen, bruker vi Fopen () -metoden. I mellomtiden blir filens bane og modus gitt som argumenter for Fopen () -funksjonen. Deretter bruker vi IF -tilstanden. Printf () -kommandoen skriver ut “Filen ikke funnet” hvis den definerte filen ikke er tilgjengelig.

Dessuten brukes SCANF () -metoden. Den ansattes navn blir hentet fra den spesifiserte filen ved hjelp av denne funksjonen. Deretter brukes Fprintf () -funksjonen for å vise "ansattes navn", som er lagret i variabelen "EmpName". På samme måte har vi brukt Scanf () -funksjonen for å skaffe ansattes status fra filen. Fprintf () -metoden vil også bli brukt til å vise "ansattes status". Dette vil bli lagret i "status" -variabelen.

Til slutt definerer vi FClose () -metoden, som vil stenge den bestemte filen.

Konklusjon:

I denne artikkelen diskuterte vi prosessen med FSCANF () -metoden i C. Vi benyttet FSCANF () -metoden for å trekke ut informasjon fra en fil. Det har vanligvis to argumenter strømmer og formater. Vi utforsker også måter å implementere denne funksjonen. Denne funksjonen er spesielt nyttig når vi bare trenger å lese spesiell informasjon fra en fil og ikke hele strømmen. Vi kan konvertere heksadesimalverdien til desimalverdi ved å bruke denne funksjonen. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og opplæringsprogrammer.