logo

Få en delstreng i C

Gitt en streng str og pos og bare som definerer starten og lengden på undergruppen. Oppgaven er å generere en understreng av størrelse bare med utgangspunkt i indeksen pos .

EN understreng er en sammenhengende sekvens av tegn i en streng.



ssis

Eksempler:

Inndata: Str =den, pos=1, len=2
Produksjon: th
Forklaring: understrenger vil være: , t, h, e, th, he, the.

Inndata: Str =nerder, pos=3, lengde=3
Produksjon: f.eks
Forklaring: understrenger er: , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.



Nærme seg: Problemet kan løses ved å følge ideen nedenfor:

Lag en karakterarray og sett tegnene fra pos til tegnmatrisen for å generere delstrengen.

Følg trinnene nedenfor for å implementere ideen:



  • Opprett en tegnarray for å lagre delstrengen.
  • Iterer fra den gitte posisjonen for den gitte lengden for å generere den nødvendige delstrengen.
    • Lagre deretter hvert tegn i tegnarrayen og skriv ut understrengen.

Følg illustrasjonen nedenfor for en bedre forståelse.

Illustrasjon:

Tenk på en streng str=abcde , pos = 2 , bare = 3 .

=> Ved i = 2 våre ans = c .

=> Ved i = 3 er tegnet 'd'.
Så legg til 'd' i svaret.
Våre år = cd

=> Ved i = 4 er tegnet 'e'.
Så legg til 'e' til svaret.
Time og = cde .

Nedenfor er implementeringen av tilnærmingen ovenfor.

C

hvordan sjekke blokkerte numre på Android


statisk java



// C implementation of code> #include> #include> // Function to get substr in C> void> getString(>int> pos,>int> len,>int> c,>char> string[])> {> >char> substring[1000];> >while> (c substring = string[pos + c - 1]; c++; } substring = ' '; // Print the result printf(substring); printf(' '); return 0; } // Driver code int main() { int pos, len, c = 0; // Testcase1 char string[14] = 'geeksforgeeks'; // Initialize pos, len i.e., starting // index and len upto which we have to // get substring respectively. pos = 6; len = 5; printf('String: %s ', string); printf(' substring is: '); // Function call getString(pos, len, c, string); // Testcase2 char string2[5] = 'abcde'; pos = 1; len = 3; c = 0; printf(' String: %s ', string2); printf(' substring is: '); // Function call getString(pos, len, c, string2); return 0; }>

>

>

Produksjon

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Tidskompleksitet: Om
Ekstra plass: Om

Ved å bruke strncpy()-funksjonen i C

Vi kan også bruke strncpy()-funksjonen i C for å kopiere delstrengen fra en gitt inndatastreng. Det tar 3 parametere som er destinasjonsstrengen, kildestrengen sammen med startindeksen og lengden på understrengen som vi må kopiere.

datamaskin oppfunnet år

Syntaks:

strncpy(destinasjonsstreng,inndatastreng+pos,len);

Her pos er startindeksen og bare er lengden på delstrengen som vi ønsker å kopiere.

Nedenfor er koden for tilnærmingen ovenfor.

C

mb vs gb




// C implementation of code> #include> #include> // Driver code> int> main()> {> >int> pos, len;> >// Testcase1> >char> string[14] =>'geeksforgeeks'>;> >char> substring[14];> >// Initialize pos, len i.e., starting> >// index and len upto which we have to> >// get substring respectively.> >pos = 6;> >len = 5;> >printf>(>'String: %s '>, string);> >printf>(>' substring is: '>);> >// Using strncpy function to> >// copy the substring> >strncpy>(substring,string+(pos-1),len);> >printf>(substring);> >// Testcase2> >char> string2[5] =>'abcde'>;> >char> substring2[5];> > >pos = 1;> >len = 3;> >printf>(>' String: %s '>, string2);> >printf>(>' substring is: '>);> >// Using strncpy function to> >// copy the substring> >strncpy>(substring2,string2+(pos-1),len);> >printf>(substring2);> >return> 0;> }> // This code is contributed by Pushpesh Raj.>

>

>

Produksjon

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Tidskompleksitet: Om
Ekstra plass: Om