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.