Strstr () C nyelven egy beépített funkció. Az strstr működése érthető az Ubuntu terminálban található kézikönyvből, ha Ubuntun dolgozik. Ezután a terminál megmutatja az strstr útmutatóját és működését.
$Férfistrstr
1. példa
Tekintsük az strstr első példáját; a kódot egy fájlban használtuk. És a kimenetet ezen a fájlon keresztül kapjuk meg a terminálban. Mint ismeretes, hogy a bemenet strstr két karakterlánc, amelyben az egyik karakterlánc előfordulása azonosul a másik karakterláncban. Először is a könyvtár fejléce húr.h karakterlánc számos funkcióját kezeli. Ha ezt a könyvtárat nem vezetik be, akkor nem lehet karakterlánc -függvényeket végrehajtani. A forráskódban használt karakterlánc -függvény a
P= strstr (s1,s2)
Ebben a p egy mutató. S1 és S2 két karakterlánc. Meg kell találnunk az s2 előfordulását az s1 karakterláncban. Az eredmények kinyomtatásához if-else utasítást alkalmaztunk a karakterlánc első előfordulását ellenőrző feltétel alkalmazására. Ha az adott allánc szerepel a fő karakterláncban, akkor megjelenik egy megerősítő üzenettel. Ha nincs jelen, akkor egy üzenet jelenik meg.
A fenti képernyőképen látható egy bemeneti karakterlánc, amelyből be kell azonosítania a kis karakterláncot. Ez a kis karakterlánc akkor is megemlítésre kerül, ha az utasítás a paramétert p -ként veszi fel, mint a strstr funkciót tárolja benne.
Ha Linux operációs rendszeren dolgozik, és szeretné megkapni a kimenetet. Ezt megteheti néhány parancs használatával az Ubuntu terminálon. Az első parancs a fordítás
$GCC –o fájl9 fájl9.c
Az összeállításhoz fordítóra van szükségünk, a Linuxra használt GCC -re, hogy C programot fordítson rá. -o a kimeneti fájlban tárolja az eredményt a forrásfájlból. Most a következő lépés a végrehajtás.
$./fájl8Ezt pont módszerrel fejezik be. Amelyben egy pontot és egy perjelet használunk a fájl nevével.
A kimenet azt mutatja, hogy az allánc jelen volt, és azt is, hogy hol van a fájlban.
2. példa
Ez egy másik egyszerű példa az strstr () függvényre az if-utasítás használata nélkül. Ebben a C programban egyeztetni fogunk egy adott szót a karakterláncban, majd lekérjük, mivel a szó illeszkedik a előfordulása szerint. Ezután a kimenetben a szó és a jelenlévő karakterek is megjelennek az allánccal együtt.
Kimenet = strstr(a, keresőszalag);
Mivel az előfordulást a mutató változó használatával kapjuk meg a kódban. Mivel ez a mutató az allánc helyének lekérésére és az allánc megjelenítésére szolgál, a kimeneti parancsban csak a változó nevét használjuk csillag nélkül. Ha meg akarjuk jeleníteni a helyet, akkor a mutatót (csillaggal ellátott változót), azaz *kimenetet fogjuk használni.
Ezt láthatja a kimeneten. A függvény szó szóban keresendő volt, mint allánc. A karakterek az alláncokkal együtt szintén megjelennek.
3. példa
Ebben a kódban először megtaláljuk az allánc előfordulását, majd ezt az alláncot egy másik karakterlánccal helyettesítjük. Ismét két karakterlánc lesz fenntartva bemenetként. Az egyik a nagy karakterlánc, a másik pedig egy szó, amelyet az előfordulás meghatározása után lecserélnek. Az strstr függvény illeszkedik a kis alhúrhoz az eredetivel. És amikor a mérkőzést először alapítják, visszaadja az értéket. De ebben a példában ez az érték tovább cserélődik. Lássuk, hogyan fog működni.
P = strstr(s1, s2);Ahol p tárolja az előfordulás értékét, S1 és s2 a bemeneti karakterlánc.
Most megvan a beviteli karakterlánc előfordulásának pontja. Most ezt a karakterláncot helyettesítjük a másik szóval. Ez az if utasítás törzsében történik. Ez azt mutatja, hogy ha a feltétel igaz, akkor a szó megalapozott, majd helyébe egy másik szó lép. Ez a csere egy másik karakterlánc -függvényen keresztül történik.
Strcpy(p, strstr)A szót szeretnénk lecserélni erre strstr . Ahol p a funkció által lecserélt részsor első előfordulásának helye. Strcpy () helyettesíti ezt a két szót a karakterláncban. A kimenet ugyanazon fordítási-végrehajtási módszerrel lesz elérhető.
A kimenetből láthatja, hogy a karakterlánc most lecserélődik a másik szóra, amelyet az strcpy függvényben leírtunk.
4. példa
Ez a példa ugyanazt a fogalmat mutatja be. Itt szabad helyet vettünk fel, mint karaktert a szó mellett alláncként. Ez egy egyszerű illusztráció, amelyben még az if-állítást sem használtuk. Csak az egyezési és megjelenítési koncepciót alkalmazzák. Két karakterláncot veszünk bemenetként. Ezenkívül a szó megjelenik az üzenettel együtt. Az strstr ugyanúgy működik.
c= strstr(a, b);Itt c az a változó, ahol a bekövetkezési pont tárolásra kerül.
Most megkapjuk a kimenetet.
A kimenetből észreveheti, hogy a helyet is számba vesszük az általunk bevezetett allánccal.
5. példa
Ez a példa egészen más, mint az előzőek. Itt külön függvényt használtunk a művelet végrehajtásához strstr () a fő program helyett. Ehhez képest az értékeket argumentumként adjuk át a függvényhívás paramétereiben. Ebben a példában megemlítettük az alstringet, és a program a végrehajtás után az első előfordulás helyét fogja megjeleníteni a kimenetben szereplő érték helyett. A függvény megkapja a változók értékeit, majd alkalmazzuk a strstr () ezeken a változókon. Ha a-else utasítást a rendelkezésre állás ellenőrzésére és a feltétel igazolására használják, ha pedig hamis, akkor lépjen az else részre.
Char*pos = strstr(str, alstr);Míg o egy karakterlánc, az alstruktúra egy allánc. Char*pos a karakterláncban egy alstring első előfordulásának helyzete. A jel ' %s A megjelenő utasításban jelen lévő al -karakterlánc és az egész karakterlánc cseréjét jelenti. Mivel az allánc a paraméter karakterlánca előtt van.
Most a fő program felé haladunk. Először egy karakterláncot vezetnek be, amelyet egy függvényhíváson keresztül továbbítanak
Find_str(str, legjobb);Itt hozzáadtuk az alstringet is a karakterlánccal. Minden alkalommal, amikor új alstringet ad hozzá. Másodszor egy szabad hely karaktert adtunk hozzá. A harmadik alkalommal egy olyan karakterlánc kerül hozzáadásra, amely nem része a karakterláncnak. Végül pedig ábécét használnak.
Használja a parancsokat, majd tekintse meg az alább mellékelt eredményt.
Íme a C programfüggvény hívások eredménye. Az első kettő és a negyedik állítás kielégíti a feltételt, így a válasz megjelenik. A harmadik nem releváns, ezért a másik rész ezt fogja kezelni.
Következtetés
Ebben a cikkben a használata strstr megvitatásra kerül, példákkal együtt. Ezek a példák azt mutatják, hogy sokféleképpen lehet használni ezt a fogalmat. A karakterlánc -függvények könnyen használhatók a fejléc jelenlétében a könyvtárban.