Introduktion:
Strenge er en væsentlig bestanddel af programmering , fordi de gør det muligt at kommunikere med brugere, vis resultater og læs filer . De er en type dataindtastnings- og outputmekanisme. Siden strenge konstant bruges i en vis kapacitet i de programmer, vi laver, er effektiv håndtering af strenge og de funktioner, der behandler dem, afgørende.
Denne vejledning vil lære dig, hvordan du opdeler tekster afhængigt af afgrænsninger ved hjælp af strsep() metode .
Vi vil gennemgå input og output argumenter til strsep() , dens syntaks og teoretisk forklaring , og de tilladte datatyper for hvert af disse argumenter.
Vi sætter derefter det, vi har lært, i praksis ved at bruge kodestykker og grafik til at fragmentere strenge ved hjælp af strsep() metode , hvilket er demonstreret i de praktiske eksempler.
Strsep() Funktionssyntaks i C-sproget:
char *strsep(char **restrict stringp, const char *restrict delim);
En forklaring af Strsep()-funktionen i C:
- EN snor er brudt fra hinanden ved hjælp af strsep() funktion , begyndende med en forudbestemt afgrænsning.
- Det snor peget på af stringp input argumentet opdeles af denne funktion, og brikkerne kombineres derefter for at danne nye strenge, der alle ender med nul-tegnet.
- Hver ny streng begynder kl adresse givet af output pointeren og afslutter, hvor afgrænsning specificeret af Jeg deler og strsep() Når et afgrænsningstegn er fundet, erstatter funktionen det med et nultegn for at angive slutningen af den nye streng.
- Det stringp pointer indstilles automatisk i starten af fragmentet, efter at afgrænsningstegnet er fundet, når funktionen vender tilbage fra sit kald. Det stringp pointer er nu klar til at hente det næste fragment i det følgende funktionskald. Indtil strsep() løber tør for skilletegn og returnerer en nul-markør. Som følge heraf gentages denne proces for hvert opkald.
Det er vigtigt at bemærke, at denne funktion ændrer inputteksten uigenkaldeligt ved at erstatte null-tegn med afgrænsningerne. Det 'string.h' overskrift indeholder definitionen af strsep() funktion . Vi skal inkorporere det i vores kode som følger for at bruge det og de andre strengstyringsfunktioner:
#include
Sådan bruger du C-sprogets Strsep()-funktion til at opdele en streng i flere fragmenter
I dette eksempel er sætningen 'Lad os begynde at programmere' oprettes som en streng, og dens indhold opdeles ved hjælp af strsep() funktion . Hver af de nyoprettede strenge produceres derefter på en separat linje i kommandoterminal . Snoren, der peges på af stringp input-parameter er opdelt ord for ord, da afgrænsningstegnet vi bruger i delim input-argumentet er mellemrumstegn (' ') .
jquery dette klik
Vi erklærer 'synd' streng sammen med teksten 'Lad os begynde at programmere' og 'in_Ptr' pointer i main() funktion . Det strsep()-funktionens stringp input argument er denne pointer.
Som delim input argument for strsep() metode og det angivne afgrænsningstegn, erklærer vi desuden 'streng del' med mellemrumstegn. Vi erklærer næste 'o_Ptr' pointer , som bruges som strsep()'s output-argument . Det printf() metode vil bruge denne markør som et input-argument til at vise det gendannede fragment på kommandokonsollen.
Derefter, efter at have leveret af strengen som det første argument 'in_Ptr' pointer som den anden parameter, og 'o_Ptr' pointer som output-argument kalder vi strsep() funktion . Dette opkald foretages inde i en mens loop med flugtbetingelsen, at der ikke er flere afgrænsninger hvornår strsep() returnerer en nul pointer.
Koden til dette eksempel er som følger:
#include #include int main() { char s_in[50] = 'Let's start programming '; char del[20] = ' '; char* in_Ptr = s_in; char* o_Ptr; while ((o_Ptr = strsep(&in_Ptr, del)) != NULL) { printf('%s ', o_Ptr); } return 0; }
Strsep() opdeler 'synd' streng ord for ord, producerer en ny streng hver gang, som derefter vises på en ny linje i kommandokonsollen, som vist nedenfor;
Produktion:
java samling
Let's start programming
Konklusion
I denne artikel demonstrerede vi, hvordan man behandler strenge ved hjælp af strsep() funktion , en af funktionerne specificeret i 'string.h' header. Vi talte om den teoretiske begrundelse for dens syntaks, kaldeteknik , og operation . Derudover demonstrerede vi den slags data, som hvert input- og outputargument accepterer.