StrSEP -funksjon på C -språk

StrSEP -funksjon på C -språk
Strenger er en grunnleggende del av programmeringen fordi det er mulig å sende meldinger til brukeren, vise resultatene og lese filene gjennom dem. De er også en av metodene for datainngang og utgang.

Flytende håndtering av strenger og funksjonene som behandler dem er veldig viktig, siden vi alltid bruker dem i en del av programmet som vi utvikler.

I denne Linux -hint -artikkelen vil du lære hvordan du bruker StrSEP () -funksjonen for å dele opp strengene basert på avgrenser.

Vi vil vise deg syntaks og den teoretiske beskrivelsen av å kalle driften av StrSEP (), dens innspill og utgangsargumenter, og de aksepterte datatypene for hvert av disse argumentene.

Vi bruker deretter det vi lærte i de praktiske eksemplene som viser deg hvordan du implementerer StrSEP () -funksjonen for å fragmentere strengene ved å bruke kodebiter og bilder.

Syntaks av strSep () -funksjonen på C -språk

char *strSep (char ** begrenser Stringp, const char *begrenset delim);

Beskrivelse av strSep () -funksjonen på C -språk

StrSep () -funksjonen fragmenter en streng som starter fra en forhåndsinnstilt avgrenser.
Denne funksjonen fragmenter strengen som er pekt på av Stringp -inngangsargumentet og konverterer fragmentene til nye strenger, alle slutter med et nullkarakter.

Hver nye streng starter på adressen som returneres i utgangspekeren og slutter der StrSep () møter avgrenseren som er spesifisert i Delim. Hvis funksjonen finner en avgrenser, erstatter den den med en nullkarakter, og markerer slutten av den nye strengen.

Når funksjonen kommer tilbake fra samtalen, settes Stringp -pekeren automatisk i begynnelsen av fragmentet, etter avgrensningskarakteren den fant. På denne måten er Stringp -pekeren klar til å hente neste fragment i neste funksjonssamtale. Denne prosessen gjentas for hver samtale til StrSep () ikke finner flere avgrensere og returnerer en nullpeker som et resultat.

Det er viktig å merke seg at denne funksjonen irreversibelt endrer inngangsstrengen ved å erstatte avgrenserne med nulltegn.

StrSEP () -funksjonen er definert i “Strengen.h ”header. For å bruke den og de andre strengstyringsfunksjonene, må vi inkludere den i koden vår som følger:

#inkludere

Hvordan skille en streng i flere fragmenter ved hjelp av strSEP () -funksjonen på C -språket

I dette eksemplet lager vi en streng som inneholder "I dag er en flott dag for programmering”Setning og bruk StrSEP () -funksjonen for å fragmentere innholdet og sende ut hver av de nylig oppnådde strengene på en ny linje i kommandokonsollen.

Avgrenseren som vi bruker i Delim -inngangsargumentet er romkarakteren (““), så strengen som er pekt på av Stringp -inngangsargumentet er fragmentert ord for ord.

I hoved- () -funksjonen erklærer vi "S_in" -strengen med "I dag er en flott dag for programmering”Setningen og“ In_PTR ”-pekeren. Denne pekeren er Stringp -inngangsargumentet til strSEP () -funksjonen.

Vi erklærer også "String Del" med romkarakteren som er Delim -inngangsargumentet til StrSEP () -funksjonen og den tildelte avgrensningskarakteren.

Til slutt erklærer vi “O_PTR” -pekeren som fungerer som utgangsargumentet til STRSEP (). Denne pekeren peker på det hentede fragmentet og fungerer som inngangsargumentet til printf () -funksjonen for å vise det på kommandokonsollen.

Deretter kaller vi StrSEP () -funksjonen ved å passere “In_PTR” -pekeren som det første argumentet, Del -strengen som det andre argumentet, og “O_PTR” -pekeren som utgangsargument.

Denne samtalen blir foretatt i en stundsløyfe der rømningstilstanden er at StrSep () returnerer en nullpeker som betyr at det ikke er flere avgrensere.

Her er koden for dette eksemplet:

#inkludere
#inkludere
tomrom ()

char s_in [50] = "I dag er en flott dag for programmering";
char del [20] = "";
char* in_ptr = s_in;
Charr* O_PTR;
mens (o_ptr != Null)
O_PTR = strSep (& in_ptr, del);
printf ("%s \ n \ n", o_ptr);

Som det fremgår av følgende figur, skiller StrSep () “S_in” strengord for ord, og oppretter en ny streng hver gang, hver vises på en ny linje i kommandokonsollen:

Konklusjon

I denne Linux -hint -artikkelen viste vi deg hvordan du bruker StrSEP () -funksjonen som er en av funksjonene som er definert i “Strengen.h ”header for å behandle strengene.

Vi diskuterte den teoretiske forklaringen av den. Vi viste deg også inngangs- og utgangsargumentene og hvilken type data som de hver enkelt godtar.

For å hjelpe deg med å forstå hvordan denne funksjonen fungerer, så vi også på et praktisk eksempel der vi viste deg hvordan du skal erklære de nødvendige pekerne som brukes som inngangs- og utgangsargumenter for denne funksjonen ved å bruke kodefragmentene og utdragene som er forklart trinn for Trinn, sammen med samtalemetoden.