Strstr i C

Strstr C



Strstr () i C-språket är en inbyggd funktion. Strstrs funktionalitet kan vara begriplig genom manualen som finns i Ubuntu -terminalen om du arbetar med Ubuntu. Sedan visar terminalen guiden för strstr och hur det fungerar.

$manstrstr







Exempel 1

Tänk på det första exemplet på strstr; vi har använt koden i en fil. Och vi kommer att få utmatningen genom den här filen i terminalen. Som det är känt att ingången av strstr är två strängar, där en sträng förekommer i den andra strängen. Först bibliotekets rubrik string.h kommer att användas som hanterar många funktioner i strängen. Om detta bibliotek inte introduceras är det inte möjligt att köra ett program med strängfunktioner. Strängfunktionen som används i denna källkod är



P= strstr (s1,s2)

I detta är p en pekare. S1 och S2 är två strängar. Vi måste hitta förekomsten av s2 i strängen s1. För att skriva ut resultaten har vi använt en if-else-sats för att tillämpa villkoret som kontrollerar den första förekomsten av strängen. Om den specifika delsträngen finns i huvudsträngen kommer den att visas med ett bekräftelsemeddelande. Om den inte finns visas ett meddelande.







I skärmdumpen ovan kan du se en inmatningssträng från vilken du behöver identifiera den lilla strängen. Den lilla strängen nämns också om satsen kommer att ta p som ett argument i parametern, som värdet på strstr funktionen lagras i den.

Om du arbetar med Linux -operativsystem och vill få utgången. Sedan kan detta göras med ett par kommandon på Ubuntu -terminalen. Det första kommandot är för sammanställningen



$GCC –o fil9 fil9.c

För kompilering behöver vi en kompilator, GCC som används för Linux för att kompilera ett C -program på den. -o används för att lagra resultatet i en utdatafil från källfilen. Nu är nästa steg utförandet.

$./fil 8

Detta slutförs med en punktmetod. I vilken vi använder en punkt och ett snedstreck med namnet på filen.

Utdata visar att delsträngen var närvarande och visar också dess plats i filen.

Exempel 2

Detta är ett annat enkelt exempel på strstr () -funktionen utan användning av if-sats. I detta C -program kommer vi att matcha ett visst ord i strängen och sedan hämta det när ordet matchas efter dess förekomst. Sedan i utdata visas också ordet och de tecken som finns tillsammans med delsträngen.

Utgång = strstr(a, söksträng);

När förekomsten erhålls med hjälp av pekarvariabeln i koden. Eftersom denna pekare används för att få plats för delsträngen och för att se delsträngen använder vi endast variabelnamnet utan asterisk i kommandot output. Om vi ​​vill visa platsen använder vi pekaren (variabel med en asterisk), dvs *output.

Du kan se detta i utdata. Ordfunktionen skulle sökas som en delsträng. Tecknen, tillsammans med delsträngen, visas också.

Exempel 3

I den här koden hittar vi först förekomsten av delsträngen, och sedan kommer denna understräng att ersättas med en annan sträng. Återigen kommer två strängar att reserveras som ingång. Den ena är den stora strängen, och den andra är ett ord som kommer att ersättas efter att dess förekomst kommer att bestämmas. De strstr -funktion matchar den lilla delsträngen med den ursprungliga. Och när matchen grundas för första gången returnerar den värdet. Men i detta exempel ersätts detta värde ytterligare. Låt oss se hur det kommer att fungera.

P = strstr(s1, s2);

Där p kommer att lagra förekomstvärdet i det, är S1 och s2 ingångssträngarna.

Nu har vi punkten för förekomsten av den inmatningssträngen. Nu kommer vi att ersätta denna sträng med det andra ordet. Detta görs i kroppen av if -uttalandet. Detta visar att om villkoret är sant, är ordet grundat och ersätts sedan med ett annat ord. Denna ersättning görs genom en annan strängfunktion.

Strcpy(p, strstr)

Vi vill ersätta ordet med strstr . Där p är platsen för den första förekomsten av den delsträngen som funktionen har ersatt. Strcpy () ersätter dessa två ord i strängen. Utdata kommer att erhållas genom samma kompilerings-körningsmetod.

Från utmatningen kan du se att strängen nu ersätts med det andra ordet som vi har beskrivit i strcpy -funktionen.

Exempel 4

Detta exempel visar samma koncept. Här har vi tagit ledigt utrymme som ett tecken utöver ordet som en delsträng. Det är en enkel illustration där vi inte ens har använt if-statement. Endast match- och displaykonceptet tillämpas. Två strängar tas som ingång. Dessutom visas ordet med meddelandet. De strstr fungerar på samma sätt.

c= strstr(a, b);

Här är c ​​variabeln där förekomstpunkten kommer att lagras.

Nu får vi utgången.

Från utgången kan du märka att utrymme också räknas med delsträngen som vi har introducerat.

Exempel 5

Detta exempel skiljer sig ganska mycket från de tidigare. Här har vi använt en separat funktion för att utföra åtgärden av strstr () istället för huvudprogrammet. I jämförelse skickas värdena som argument i parametrarna för funktionsanropet. I det här exemplet har vi nämnt delsträngen och programmet, efter körning, visar positionen för den första förekomsten istället för värdet i utdata. Funktionen tar emot värdena i variablerna, och sedan kommer vi att tillämpa strstr () på dessa variabler. If-else-sats används för att kontrollera tillgängligheten och för att göra villkoret sant och om det är falskt, gå sedan till den andra delen.

Röding*pos = strstr(str, substr);

Medan sid är en sträng, substr är en delsträng. Char*pos är positionen för den första förekomsten av en delsträng i strängen. Skylten ' %s 'Som finns i uttalandet som visas innebär att en delsträng och hela strängen ersätts. Eftersom delsträng är närvarande före strängen i parametern.

Nu går vi mot huvudprogrammet. Först introduceras en sträng som kommer att skickas genom ett funktionsanrop

Find_str(str, bäst);

Här har vi också lagt till delsträngen med strängen. Varje gång läggs en ny delsträng till. Andra gången har vi lagt till en ledig karaktär. För tredje gången läggs en delsträng till som inte är en del av strängen. Och i det sista används ett alfabet.

Använd kommandona och se sedan resultatet som bifogas nedan.

Här är resultatet av C -programfunktionssamtalen. De två första och fjärde satserna uppfyller villkoret, så svaret visas. Den tredje är inte relevant, så den andra delen kommer att hantera detta.

Slutsats

I den här artikeln, användningen av strstr diskuteras, tillsammans med exempel. Dessa exempel visar variation i att använda det konceptet på många sätt. Strängfunktionerna är enkla att använda i närvaro av deras rubrik i biblioteket.