logo

Strsep() függvény C-ben

Bevezetés:

Húrok lényeges alkotóelemei programozás , mert lehetővé teszik a kommunikációt felhasználókat, eredményeket jelenítsen meg és fájlokat olvasson . Ezek egyfajta adatbeviteli és -kiadási mechanizmusok. Mivel húrok Az általunk készített programokban valamilyen minőségben folyamatosan használatosak, a karakterláncok és az azokat feldolgozó funkciók hatékony kezelése döntő fontosságú.

Ez az oktatóanyag megtanítja Önnek, hogyan oszthat fel szövegeket a határolójelek függvényében a strsep() metódus .

Átmegyünk a bemenet és kimeneti argumentumok számára strsep() , annak szintaxis és elméleti magyarázat , és az egyes argumentumok megengedett adattípusai.

A következő lépésben a tanultakat a gyakorlatba ültetjük úgy, hogy kódrészleteket és grafikákat használunk a karakterláncok tördelésére a strsep() metódus , amit a gyakorlati példák mutatnak be.

Strsep() függvény szintaxisa a C nyelvben:

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

A Strsep() függvény magyarázata C-ben:

  • A húr segítségével széttörik strsep() függvény , egy előre meghatározott határolóval kezdődik.
  • A húr mutatott rá a stringp bemenet Az argumentumot ez a függvény felosztja, majd a darabokat egyesíti új karakterláncokká, amelyek mindegyike null karakterre végződik.
  • Minden új karakterlánc a számmal kezdődik cím a kimeneti mutató adja meg, és ott végződik, ahol a határoló által meghatározott megosztom és strsep() Ha talál egy határolót, a függvény egy null karakterrel helyettesíti azt, jelezve az új karakterlánc végét.
  • A stringp mutató automatikusan a töredék elején kerül beállításra, miután a határoló karaktert felfedezték, amikor a függvény visszatér a hívásból. A stringp mutató most felkészült a következő töredék beszerzésére a következő függvényhívásban. Amíg strsep() elfogy a határoló, és null mutatót ad vissza. Ennek eredményeként ez a folyamat minden hívásnál megismétlődik.

Fontos megjegyezni, hogy ez a funkció visszavonhatatlanul megváltoztatja a bemeneti szöveget azáltal, hogy a határolókat null karakterekkel helyettesíti. A 'string.h' fejléc tartalmazza a definícióját strsep() függvény . A következőképpen kell beépítenünk a kódunkba, hogy használhassuk és a többi karakterlánc-kezelési funkciót is használhassuk:

 #include 

Hogyan használjuk a C nyelv Strsep() függvényét egy karakterlánc felosztására több töredékre

Ebben a példában a kifejezés 'Kezdjük el a programozást' karakterláncként jön létre, és a tartalmát a strsep() függvény . Ezután az újonnan létrehozott karakterláncok mindegyike külön sorban jön létre a parancsterminál . A karakterlánc, amelyre a stringp A bemeneti paraméter szóról szóra van felosztva, mivel a delim bemeneti argumentumban használt elválasztójel a szóköz karakter ('') .

aki Freddie Mercury

Kijelentjük a 'bűn' karakterláncot a szöveggel együtt 'Kezdjük el a programozást' és a 'in_Ptr' mutató ban,-ben fő funkció . A strsep() függvény stringp bemeneti argumentum ez a mutató.

Ahogy a delim bemeneti argumentum a strsep() metódus és a kijelölt határoló karaktert, emellett deklaráljuk a 'string del' a szóköz karakterével. Legközelebb kijelentjük a 'o_Ptr' mutató , amelyet mint strsep() kimeneti argumentuma . A printf() metódus ezt a mutatót fogja használni bemeneti argumentumként a helyreállított töredék megjelenítéséhez a parancskonzolon.

Ezt követően, miután ellátta a a húrból első érvként a 'in_Ptr' mutatót második paraméterként, és a 'o_Ptr' mutató kimeneti argumentumként a strsep() függvény . Ez a hívás az a míg hurok azzal a menekülési feltétellel, hogy nincs több határoló, amikor Az strsep() visszaadja egy null mutató.

hogyan alakítsuk át az int karakterláncra

A példa kódja a következő:

 #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; } 

strep() osztja a 'bűn' karakterlánc szóról szóra, minden alkalommal új karakterláncot hozva létre, amely az alábbiak szerint egy új sorban jelenik meg a parancskonzolban;

Kimenet:

 Let's start programming 

Következtetés

Ebben a cikkben bemutattuk, hogyan kell feldolgozni a karakterláncokat a strsep() függvény pontban meghatározott funkciók egyike 'string.h' fejléc. Ennek elméleti indoklásáról beszéltünk szintaxis, hívástechnika , és művelet . Ezenkívül bemutattuk, hogy az egyes bemeneti és kimeneti argumentumok milyen típusú adatokat fogadnak el.