Strstr in C.

Strstr C



Strstr () C kalba yra integruota funkcija. Jei dirbate su „Ubuntu“, „strstr“ funkcionalumą galima suprasti naudojant Ubuntu terminalo vadovą. Tada terminalas parodys jums strstr vadovą ir kaip jis veikia.

$vyrasstrstr







1 pavyzdys

Apsvarstykite pirmąjį strstr pavyzdį; kodą panaudojome faile. Ir išvestį gausime per šį failą terminale. Kaip žinoma, kad įvestis strstr yra dvi eilutės, kuriose vienos eilutės įvykis identifikuojamas kitoje eilutėje. Pirmiausia bibliotekos antraštė eilutė.h bus naudojamas tvarkant daugelį eilutės funkcijų. Jei ši biblioteka nėra pristatyta, neįmanoma vykdyti eilutės funkcijų programos. Šiame šaltinio kode naudojama eilutės funkcija yra



P= strstr (s1,s2)

Šiuo atveju p yra rodyklė. S1 ir S2 yra dvi eilutės. Turime rasti s2 atsiradimą eilutėje s1. Norėdami atspausdinti rezultatus, mes panaudojome teiginį if-else, kad pritaikytume sąlygą, kuri tikrina pirmąjį eilutės atsiradimą. Jei tam tikra antrinė eilutė yra pagrindinėje eilutėje, ji bus rodoma kartu su patvirtinimo pranešimu. Jei jo nėra, bus rodomas pranešimas.







Aukščiau esančioje ekrano kopijoje galite pamatyti įvesties eilutę, iš kurios turite nustatyti mažą eilutę. Ši maža eilutė taip pat minima, jei teiginys parametre kaip argumentą ims p, kaip reikšmę strstr jame saugoma funkcija.

Jei dirbate su „Linux“ operacine sistema ir norite gauti išvestį. Tada tai galima padaryti naudojant kelias komandas Ubuntu terminale. Pirmoji komanda skirta kompiliavimui



$GCC - o failas9 failas9.c

Kompiliacijai mums reikia kompiliatoriaus, GCC, naudojamo „Linux“, kad jame būtų sukurta C programa. -o naudojamas rezultatui išsaugoti išvesties faile iš šaltinio failo. Dabar kitas žingsnis yra vykdymas.

$./failas8

Tai užbaigiama naudojant taškų metodą. Kuriame mes naudojame tašką ir brūkšnį su failo pavadinimu.

Išvestis rodo, kad antrinė eilutė buvo, taip pat rodo jos vietą faile.

2 pavyzdys

Tai dar vienas paprastas strstr () funkcijos pavyzdys nenaudojant if-teiginio. Šioje C programoje mes suderinsime tam tikrą žodį eilutėje ir tada jį paimsime, kai žodis bus suderintas pagal jo atsiradimą. Tada išvestyje taip pat rodomas žodis ir simboliai kartu su antrine eilute.

Išvestis = strstr(a, paieškos eilutė);

Kadangi įvykis gaunamas naudojant kodo rodyklės kintamąjį. Kadangi šis žymeklis naudojamas norint gauti antrinės eilutės vietą ir pamatyti antrinę eilutę, išvesties komandoje naudojame tik kintamojo pavadinimą be žvaigždutės. Jei norime rodyti vietą, tada naudosime rodyklę (kintamąjį su žvaigždute), ty *išvestį.

Tai galite pamatyti išvestyje. Žodžio funkcija turėjo būti ieškoma kaip antrinė eilutė. Taip pat rodomi simboliai kartu su antrine eilute.

3 pavyzdys

Šiame kode pirmiausia surasime antrinės eilutės atsiradimą, o tada ši antrinė eilutė bus pakeista kita eilute. Vėlgi dvi eilutės bus rezervuotos kaip įvestis. Viena yra didžioji eilutė, o kita - žodis, kuris bus pakeistas, kai bus nustatytas jo atsiradimas. The strstr funkcija atitinka mažą antrinę eilutę su originalia. Ir kai rungtynės nustatomos pirmą kartą, ji grąžina vertę. Tačiau šiame pavyzdyje ši vertė toliau pakeičiama. Pažiūrėkime, kaip tai veiks.

P = strstr(s1, s2);

Kur p išsaugos įvykio vertę, S1 ir s2 yra įvesties eilutės.

Dabar mes turime tos įvesties eilutės atsiradimo tašką. Dabar šią eilutę pakeisime kitu žodžiu. Tai daroma teiginio tekste. Tai rodo, kad jei sąlyga yra teisinga, žodis yra pagrįstas, tada pakeičiamas kitu žodžiu. Šis pakeitimas atliekamas naudojant kitą eilutės funkciją.

Strcpy(p, strstr)

Žodį norime pakeisti žodžiu strstr . Kur p yra pirmoji tos antrinės eilutės, kurią funkcija pakeitė, vieta. Strcpy () pakeičia šiuos du žodžius eilutėje. Išvestis bus gauta naudojant tą patį kompiliavimo-vykdymo metodą.

Iš išvesties matote, kad eilutė dabar pakeista kitu žodžiu, kurį aprašėme „strcpy“ funkcijoje.

4 pavyzdys

Šis pavyzdys parodo tą pačią sąvoką. Čia mes paėmėme laisvą vietą kaip simbolis, be žodžio kaip antrinės eilutės. Tai paprasta iliustracija, kurioje mes net nenaudojome teiginio. Taikoma tik atitikties ir rodymo koncepcija. Dvi eilutės laikomos įvestimi. Be to, žodis rodomas kartu su pranešimu. The strstr veikia tuo pačiu būdu.

c= strstr(a, b);

Čia c yra kintamasis, kuriame bus išsaugotas įvykio taškas.

Dabar mes gausime išvestį.

Iš išvesties galite pastebėti, kad erdvė taip pat skaičiuojama su mūsų įvesta antrine eilute.

5 pavyzdys

Šis pavyzdys visiškai skiriasi nuo ankstesnių. Čia mes naudojome atskirą funkciją veiksmui atlikti strstr () vietoj pagrindinės programos. Palyginimui, vertės bus perduotos kaip argumentai funkcijos iškvietimo parametruose. Šiame pavyzdyje mes paminėjome antrinę eilutę, o programa, įvykdžiusi, parodys pirmojo įvykio vietą, o ne vertę išvestyje. Funkcija gaus kintamųjų reikšmes, o tada pritaikysime strstr () dėl šių kintamųjų. Jei teiginys „kitas“ naudojamas patikrinti, ar pasiekiama, ir kad sąlyga būtų teisinga, o jei ji klaidinga, pereikite prie kitos dalies.

Char*poz = strstr(str., substr);

Kadangi p yra eilutė, antrinė eilutė yra antrinė eilutė. Char*poz yra pirmo eilutėje esančio antrinės eilutės padėtis. Ženklas ' %s Rodomas teiginys reiškia pakeisti antrinę eilutę ir visą eilutę. Kadangi antrinė eilutė yra prieš parametro eilutę.

Dabar pereikite prie pagrindinės programos. Pirmiausia įvedama eilutė, kuri bus perduodama per funkcinį iškvietimą

Find_str(str, geriausia);

Čia taip pat pridėjome antrinę eilutę su eilute. Kiekvieną kartą pridedama nauja antrinė eilutė. Antrą kartą pridėjome laisvos vietos simbolį. Trečią kartą pridedama antrinė eilutė, kuri nėra eilutės dalis. Ir paskutinėje dalyje naudojama abėcėlė.

Naudokite komandas ir pamatysite žemiau pateiktą rezultatą.

Štai C programos funkcijos iškvietimų rezultatas. Pirmieji du ir ketvirtieji teiginiai atitinka sąlygą, todėl rodomas atsakymas. Trečiasis nėra aktualus, todėl kita dalis tai išspręs.

Išvada

Šiame straipsnyje naudojamas strstr aptariamas kartu su pavyzdžiais. Šie pavyzdžiai rodo įvairovę šios sąvokos panaudojime. Eilutės funkcijas lengva naudoti, kai bibliotekoje yra jų antraštė.