SSCANF -funksjon i C

SSCANF -funksjon i C
I de forskjellige programmeringsspråk som C, møter vi alltid programmer som bidrar til å ta innspill fra brukeren i form av en hvilken som helst verdi som er skrevet fra tastaturinngangen, som innebærer bruk av SCANF () -metoden. Men flere andre programmer eksisterer der vi ønsker å lese dataene som er formatert fra den andre strengen i stedet for tastaturinngang. For slike typer lesing formaterte strenger fra en streng til en annen, bruker vi SSCANF () -metoden. Denne funksjonen overskriver verdien i den ene strengen med den andre strengen, eller når den trekker ut og bryter den ene hele strengen i to forskjellige strenger. Anta at vi har en streng "Hei til verden". Vi bryter og lagrer denne strengen i tre andre strenger og lagrer den i en annen variabel; Da kan vi bruke SSCANF () -metoden.

Fremgangsmåte

Vi kan bli forvirret med å bruke SCANF () og SSCANF () -funksjonene i C. Denne artikkelen vil skille mellom disse to funksjonene og vise oss syntaks og metode for å implementere SSCANF () -metoden ved hjelp av forskjellige eksempler. La oss fortsette med prosedyren med følgende trinn:

Syntaks
For å implementere SSCANF () -metoden, må vi ha et fullstendig grep om syntaksen til denne metoden. Denne funksjonen tar følgende argumenter som vi må forstå fullstendig:

$ int sscanf (const char * string, const char * format, [arg1, arg2,…]);

I argumentene fra SSCANF () -metoden er det første argumentet tegnet til pekertype av streng som fungerer som en kilde for funksjonen for å hente dataene, eller med andre ord fungerer som en buffer. Det andre argumentet er formatspesifikasjonen som indikerer datatypen for dataene som skal tildeles, og den siste er argumentlisten som er like samme som SCANF () -metoden. Kort sagt, SSCANF () -metoden brukes spesielt til å lese dataene fra bufferen og lagre disse dataene på stedene som definert i argumentlisten, der hvert argument blir oppfordret til å være en peker for variabelen med typen som spesifisert i Formatstrengen (andre argument).

Eksempel nr. 01
Vi vil implementere et program i dette eksemplet for å vise arbeidet med SSCANF () for å lese strengene. For å jobbe med SSCANF () -metoden, må vi importere følgende to overskrifter -filer til programmene.

$ # inkluderer
$ # inkluderer

De to bibliotekene med utvidelse “.H ”er representert som overskrifters filer. Dette første biblioteket er inkludert for å bruke informasjonen om leseinngang og visningsutgang i programmet. Strengen “.H ”brukes siden denne overskriftsfilen håndterer erklæringen om funksjonene som omhandler strenger, minne og konstanter. Nå, i hovedsak, vil vi erklære og initialisere en pekerstreng med datatype røye med sin tildelte verdi som "David Executive 39". Da vil vi erklære de to andre strengene med navn, henholdsvis "betegnelse" og "navn", og ha minnestørrelsen lik ti "10".

En annen variabel med datatype heltall og navnalder vil også bli initialisert. I neste trinn vil vi kalle SSCANF () -metoden og lese dataene fra den allerede erklærte og initialiserte pekertypen Char String. Den deklarerte strengen “David Executive 39” har tre forskjellige elementer: navn, alder og betegnelse. Vi vil lese dem ved å følge samme prosedyre som Scanf (), hvor vi vil lese informasjonen ved å sende formatspesifikatoren for det stykke informasjon med navnet.

Dette vil bli gjort i argumentlisten over SSCANF () -metoden som SSCANF (String, “ %s %s %d”, navn, betegnelse og alder), og så lagrer vi den i en annen variabel med datatype som “ int ”. Etter trinnene har vi trukket ut de tre forskjellige informasjonsstykkene fra en streng. Nå vil vi vise disse tre elementene i utdataene ved å ringe Printf () -metoden.

#inkludere
#inkludere
int main ()

Char* String = "David Executive 28";
Char Name [10], betegnelse [10];
int alder, utdrag;
Extract = sscanf (streng, " %s %s %d", navn, betegnelse og alder);
printf ("navn: %s \ n", navn);
printf ("Betegnelse: %s \ n", betegnelse);
printf ("alder: %d \ n", alder);
retur 0;

Utgangen viser at vi har hentet fra en bufferstreng de tre informasjonsstykkene og har skrevet dem på de spesifikke argumentlisteplasseringene som navn, betegnelse og alder ved bruk av SSCANF () -metoden.

Eksempel # 02
Vi vil implementere et annet eksempel for SSCANF () -metoden for å trekke ut strengene fra den andre strengen. Først vil vi importere de nødvendige bibliotekene, som følger:

$ # inkluderer
$ #include
$ #include

Disse bibliotekene vil automatisk inkludere nødvendige Printf, SSCANF og SCANF () -funksjoner i programmet. I forrige eksempel hadde vi brukt Char til pekertypen -strengen som fungerte som en buffer eller kilde, slik at vi kunne hente dataene fra den. Men i dette eksemplet vil vi ganske enkelt erklære en streng som bruker strcpy (String_name, "String"). Deretter vil vi bruke denne strengen som det første argumentet for SSCANF () -metoden for å bruke den som en buffer, slik at den kan leses for å trekke ut informasjonen fra StrcPy () og lagres på stedet som spesifisert av argumentlisten. Når informasjonen er lagret på de respektive argumentstedene ved hjelp av SSCANF () -metoden, vil vi vise denne informasjonen med navn og formatspesifikasjoner ved å kalle metoden Printf ().

#inkludere
#inkludere
#inkludere
int main ()
int dag, år;
Char ukedag [20], måned [20], streng [100];
Strcpy (String, "Tirsdag 25. oktober 2022");
SSCANF (streng, " %s %s %d %d", ukedag, måned og dag og år);
printf (" %s %d, %d = %s \ n", måned, dag, år, ukedag);
return (0);

Vi hadde erklært en streng ved hjelp av strcpy med navnestrengen som tirsdag 25. oktober 2022, og vi passerte denne strengen som buffer/kildestreng til SSCANF () -funksjonen, som hentet ut informasjonen, for eksempel en måned, dato, år , og dag i henhold til argumentlisten. Denne ekstraherte informasjonen vises deretter, og kaller printf () -funksjonen.

Konklusjon

SSCANF () -metoden brukes i C -programmeringsspråket for å erstatte en streng med en annen. For å bruke denne funksjonen, bør man ha klarhet i konseptet med SSCANF () argumenterlisten. Denne artikkelen forklarer tydelig trinn-for-trinn-prosessen, som involverer syntaks for funksjonen, krevde argumenter etter funksjonen, og hvor vi kan bruke denne funksjonen til å lage god logikk for våre programmer.