logo

Funkcija Strsep() u C-u

Uvod:

Žice bitna su komponenta programiranje , jer omogućuju komunikaciju sa korisnicima, prikazivati ​​rezultate i čitati datoteke . Oni su vrsta mehanizma za unos i izlaz podataka. Od žice stalno upotrebljavaju u nekom svojstvu u programima koje stvaramo, učinkovito rukovanje nizovima i funkcijama koje ih obrađuju ključni su.

Ovaj vodič će vas naučiti kako podijeliti tekstove ovisno o graničnicima pomoću metoda strsep(). .

Preći ćemo preko ulazni i izlazni argumenti za strsep() , njegovo sintaksa i teorijsko objašnjenje i dopuštene vrste podataka za svaki od ovih argumenata.

Zatim smo ono što smo naučili primijenili u praksi korištenjem isječaka koda i grafike za fragmentiranje nizova pomoću metoda strsep(). , što je prikazano na praktičnim primjerima.

Sintaksa funkcije Strsep() u jeziku C:

 char *strsep(char **restrict stringp, const char *restrict delim); 

Objašnjenje funkcije Strsep() u C-u:

  • A niz rastavlja se pomoću funkcija strsep(). , počevši s unaprijed određenim graničnikom.
  • The niz ukazao je na stringp unos argument je podijeljen ovom funkcijom, a dijelovi se zatim kombiniraju u nove nizove koji svi završavaju nultim znakom.
  • Svaki novi niz počinje na adresa dan izlaznim pokazivačem i završava tamo gdje je graničnik specificirano od strane dijelim i strsep() Kada se pronađe graničnik, funkcija ga zamjenjuje nultim znakom koji označava kraj novog niza.
  • The stringp pokazivač automatski se postavlja na početak fragmenta nakon što se otkrije znak za razdvajanje kada se funkcija vrati sa svog poziva. The stringp pokazivač sada je spreman za dobivanje sljedećeg fragmenta u sljedećem pozivu funkcije. Do strsep() ponestane graničnika i vraća nulti pokazivač. Kao rezultat toga, ovaj se postupak ponavlja za svaki poziv.

Važno je napomenuti da ova funkcija nepovratno mijenja ulazni tekst zamjenom nultih znakova za graničnike. The 'string.h' zaglavlje sadrži definiciju funkcija strsep(). . Moramo ga ugraditi u naš kod na sljedeći način kako bismo mogli koristiti njega i druge funkcije upravljanja nizovima:

 #include 

Kako koristiti funkciju Strsep() jezika C za dijeljenje niza u nekoliko fragmenata

U ovom primjeru fraza 'Počnimo s programiranjem' kreiran je kao niz, a njegov se sadržaj rastavlja pomoću funkcija strsep(). . Svaki od novostvorenih nizova zatim se proizvodi u posebnom retku u komandni terminal . Niz na koji pokazuje stringp ulazni parametar rastavlja se riječ po riječ jer je graničnik koji koristimo u ulaznom argumentu delim razmak (' ') .

koliko nula u 1 milijardi

Izjavljujemo 'grijeh' niz zajedno s tekstom 'Počnimo s programiranjem' i 'in_Ptr' pokazivač u glavna funkcija . The stringp funkcije strsep(). ulazni argument je ovaj pokazivač.

postavke web preglednika

Kao delim ulazni argument za metoda strsep(). i označeni znak za razgraničenje, dodatno deklariramo 'string del' sa svemirskim karakterom. Sljedeće izjavljujemo 'o_Ptr' pokazivač , koji se koristi kao izlazni argument strsep(). . The metoda printf(). koristit će ovaj pokazivač kao ulazni argument za prikaz oporavljenog fragmenta na naredbenoj konzoli.

Nakon toga, nakon opskrbe niza kao prvi argument, 'in_Ptr' pokazivač kao drugi parametar, i 'o_Ptr' pokazivač kao izlazni argument nazivamo funkcija strsep(). . Ovaj se poziv upućuje unutar a while petlja uz uvjet bijega da više nema graničnika kada strsep() vraća nulti pokazivač.

Kod za ovaj primjer je sljedeći:

 #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() dijeli 'grijeh' nizajte riječ po riječ, stvarajući svaki put novi niz, koji se zatim prikazuje u novom retku u naredbenoj konzoli, kao što je prikazano dolje;

Izlaz:

 Let's start programming 

Zaključak

U ovom smo članku pokazali kako obraditi nizove pomoću funkcija strsep(). , jedna od funkcija navedenih u 'string.h' Zaglavlje. Razgovarali smo o teoretskom opravdanju za to sintaksa, tehnika pozivanja , i operacija . Osim toga, pokazali smo kakvu vrstu podataka prihvaća svaki ulazni i izlazni argument.