Strstr v C

Strstr C



Strstr () v jazyce C je vestavěná funkce. Funkčnost strstr může být srozumitelná z příručky v terminálu Ubuntu, pokud pracujete na Ubuntu. Poté vám terminál ukáže průvodce strstr a jeho fungování.

$mužstrstr







Příklad 1

Zvažte první příklad strstr; použili jsme kód v souboru. A prostřednictvím tohoto souboru v terminálu získáme výstup. Jak je známo, že vstup strstr jsou dva řetězce, ve kterých je výskyt jednoho řetězce identifikován v druhém řetězci. Nejprve záhlaví knihovny řetězec.h bude použit, který zpracovává mnoho funkcí řetězce. Pokud tato knihovna není zavedena, není možné spustit program řetězcových funkcí. Funkce řetězce použitá v tomto zdrojovém kódu je



P= strstr (s1,s2)

V tomto je p ukazatel. S1 a S2 jsou dva řetězce. Musíme najít výskyt s2 v řetězci s1. K vytištění výsledků jsme použili příkaz if-else k použití podmínky, která kontroluje první výskyt řetězce. Pokud je konkrétní podřetězec přítomen v hlavním řetězci, zobrazí se s potvrzovací zprávou. Pokud není k dispozici, zobrazí se zpráva.







Na výše uvedeném snímku obrazovky vidíte vstupní řetězec, ze kterého potřebujete identifikovat malý řetězec. Tento malý řetězec je také uveden, pokud příkaz vezme p jako argument v parametru, jako hodnotu strstr je v něm uložena funkce.

Pokud pracujete na operačním systému Linux a chcete získat výstup. Potom to lze provést pomocí několika příkazů na terminálu Ubuntu. První příkaz je pro kompilaci



$GCC –o soubor9 soubor9.c

Pro kompilaci potřebujeme kompilátor, GCC používaný pro Linux ke kompilaci programu C na něm. -o slouží k uložení výsledku do výstupního souboru ze zdrojového souboru. Nyní je dalším krokem provedení.

$./soubor8

To je dokončeno pomocí tečkové metody. Ve kterém používáme tečku a lomítko s názvem souboru.

Výstup ukazuje, že podřetězec byl přítomen, a také ukazuje jeho umístění v souboru.

Příklad 2

Toto je další jednoduchý příklad funkce strstr () bez použití příkazu if. V tomto programu C přiřadíme konkrétní slovo v řetězci a poté jej načteme, protože se slovo shoduje podle jeho výskytu. Poté se ve výstupu zobrazí také slovo a znaky přítomné spolu s podřetězcem.

Výstup = strstr(a, řetězec hledání);

Jak je výskyt získán pomocí proměnné ukazatele v kódu. Protože tento ukazatel slouží k získání umístění podřetězce a k zobrazení podřetězce, používáme ve výstupním příkazu pouze název proměnné bez hvězdičky. Pokud chceme zobrazit umístění, použijeme ukazatel (proměnná s hvězdičkou), tj. *Výstup.

Můžete to vidět na výstupu. Slovo funkce mělo být hledáno jako podřetězec. Zobrazí se také znaky spolu s podřetězcem.

Příklad 3

V tomto kódu nejprve zjistíme výskyt dílčího řetězce a poté bude tento dílčí řetězec nahrazen jiným řetězcem. Opět dva řetězce budou vyhrazeny jako vstup. Jedním z nich je velký řetězec a druhým slovo, které bude nahrazeno poté, co bude určen jeho výskyt. The strstr funkce odpovídá malému podřetězci s původním. A když je zápas založen úplně poprvé, vrátí hodnotu. Ale v tomto příkladu je tato hodnota dále nahrazena. Podívejme se, jak to bude fungovat.

P = strstr(s1, s2);

Kde p do něj uloží hodnotu výskytu, S1 a s2 jsou vstupní řetězce.

Nyní máme bod výskytu tohoto vstupního řetězce. Nyní tento řetězec nahradíme jiným slovem. To se provádí v těle příkazu if. To ukazuje, že pokud je podmínka pravdivá, slovo je založeno a nahrazeno jiným slovem. Tato náhrada se provádí prostřednictvím jiné funkce řetězce.

Strcpy(p, strstr)

Chceme nahradit slovo strstr . Kde p je místo prvního výskytu podřetězce, který funkce nahradila. Strcpy () nahradí tato dvě slova v řetězci. Výstup bude získán stejnou metodou kompilace-provedení.

Z výstupu můžete vidět, že řetězec je nyní nahrazen jiným slovem, které jsme popsali ve funkci strcpy.

Příklad 4

Tento příklad ukazuje stejný koncept. Zde jsme vzali volný prostor jako znak kromě slova jako podřetězce. Je to jednoduchá ilustrace, ve které jsme ani nepoužili příkaz if. Je použit pouze koncept shody a zobrazení. Jako vstup jsou brány dva řetězce. Kromě toho se slovo zobrazí se zprávou. The strstr funguje stejným způsobem.

C= strstr(a, b);

Zde c je proměnná, kde bude bod výskytu uložen.

Nyní získáme výstup.

Z výstupu si můžete všimnout, že s podřetězcem, který jsme zavedli, se počítá také místo.

Příklad 5

Tento příklad je zcela odlišný od předchozích. Zde jsme použili samostatnou funkci k provedení akce strstr () místo hlavního programu. Pro srovnání budou hodnoty předány jako argumenty v parametrech volání funkce. V tomto příkladu jsme zmínili podřetězec a program po provedení zobrazí místo prvního výskytu místo hodnoty ve výstupu. Funkce přijme hodnoty v proměnných a poté použijeme strstr () na těchto proměnných. Příkaz if-else se používá ke kontrole dostupnosti a ke splnění podmínky a pokud je nepravdivý, přejděte k části else.

Char*pos = strstr(str, substr);

Zatímco p je řetězec, substr je podřetězec. Char*poz je pozice prvního výskytu podřetězce v řetězci. Nápis „ %s ‘Přítomný v zobrazeném příkazu znamená nahrazení podřetězce a celého řetězce. Jako podřetězec je přítomen před řetězcem v parametru.

Nyní se přesuneme k hlavnímu programu. Nejprve je zaveden řetězec, který bude předán voláním funkce

Find_str(str, nejlepší);

Zde jsme také přidali podřetězec s řetězcem. Pokaždé, když je přidán nový podřetězec. Podruhé jsme přidali znak volného prostoru. Potřetí se přidá podřetězec, který není součástí řetězce. A v poslední se používá abeceda.

Použijte příkazy a poté se podívejte na níže připojený výsledek.

Zde je výsledek volání funkcí programu C. První dva a 4. příkaz splňují podmínku, takže se zobrazí odpověď. Třetí není relevantní, takže ostatní část to vyřeší.

Závěr

V tomto článku je použití strstr je diskutováno spolu s příklady. Tyto příklady ukazují rozmanitost v používání tohoto konceptu mnoha způsoby. Řetězcové funkce se snadno používají za přítomnosti jejich záhlaví v knihovně.