Hvordan få en substring av en røye*

Hvordan få en substring av en røye*

Få en substring av en røye* er et greit tema som lett kan oppnås. Dette kan brukes til et bredt spekter av programmeringsoppgaver som hacking, webcrawling og strengmanipulering. I denne artikkelen vil jeg diskutere det grunnleggende konseptet og skissere de nødvendige trinnene for å få en substring fra en røye*.

La oss imidlertid først forstå begrepet en substring.

Hva er en substring

En substring er bare en mindre streng med hovedteksten. Denne mindre "delen" som oppnås må fremdeles inneholde den originale karakteren eller tegnene fra den originale strengen. For eksempel, hvis den opprinnelige strengen var "Hei Verden", og så substring ville vært "Hallo" eller "verden" Avhengig av ønsket utgang.

Få en substring av en røye

C -brukerne kan få en substring av en røye gjennom følgende funksjoner:

  • strncpy () funksjon
  • sbstr () -funksjon
  • memcpy () funksjon

1: strncpy () funksjon

Den første måten å få en substring av en røye* er å bruke strncpy () C bibliotekfunksjon. Den kopierer et bestemt antall tegn fra en streng til en annen. For å overføre en substring fra en røye* til en nybygd buffer, bruk denne funksjonen. Her er et eksempel på hvordan du bruker strncpy ():

Her betegner POS begynnelsen indeks og Len er den ønskede substringens lengde.

#inkludere
#inkludere
int main ()

int pos, len;
char str [14] = "abcdefghijklm";
char substring [14];
pos = 6;
Len = 5;
printf ("original streng er: %s", str);
printf ("\ nsubstring er:");
strncpy (substring, str+(pos-1), len);
printf (substring);
retur 0;

I dette eksemplet, substring er destinasjonsbufferen, røye str er kildestrengen og Pos er 6 som betyr at strengskiver vil starte fra 6. plassering (f) og ender med femte verdi, som er j i tilfellet. Dette vil resultere i en substring buffer av de første 50 tegnene fra den originale char* kopiert fra.

Produksjon

2: substr () -funksjon

Den andre måten å få en substring av en røye* er å bruke substr () C bibliotekfunksjon. Den brukes til å trekke ut en del av en streng basert på startindeksen og antall tegn. Denne funksjonen kan brukes til å returnere en peker til substringen eller for å endre den eksisterende strengen. Et eksempel på substr () Bruk er følgende:

#inkludere
#inkludere
char * substr (const char * src, int m, int n)

int len ​​= n-m;
char*dest = (char*) malloc (sizeof (char)*(len + 1));
for (int i = m; i
*dest = *(src+i);
dest ++;

*dest = '\ 0';
return dest-len;

int main ()

char src [] = "Vi vil trekke ut substring fra en streng";
int m = 6;
int n = 15;
char* dest = substr (src, m, n);
printf ("%s", dest);
retur 0;

I denne koden, lengden og plasseringen av Substring's skive bestemmes i den brukerdefinerte metoden substr (), og skiven plasseres deretter i DEST variabel og trykt i hovedfunksjonen. Ovennevnte kode vil sende ut substringen mellom 6. plassering (l) og 15 Fra starten av, som er t fra "ekstrakt" streng. m er utgangspunktet og n er sluttpunktet i dette tilfellet. Produksjon:

3: memcpy () funksjon

Den tredje måten å få en substring av en røye* er å bruke memcpy () C bibliotekfunksjon. Den kopierer flere byte fra ett minneplass til et annet. For å overføre en substring fra en røye* til en nybygd buffer, bruk denne funksjonen. Et eksempel på memcpy () Bruk er følgende:

#inkludere
#inkludere
Int Main (Void)

char *tekst = "Dette er hele strengen";
char subtext [7];
MEMCPY (Subtext, & Text [9], 6);
Undertekst [6] = '\ 0';
printf ("original streng: %s \ n", tekst);
printf ("Substring: %s", undertekst);
retur 0;

I denne koden, tekst Variable lagret streng vises først, og deretter memcpy () metoden brukes til å trekke ut substringen, som har lengde av 6, den posisjon av 9, og originalen tekst streng. De substring blir deretter skrevet ut etter å ha blitt reddet i Undertekst variabel.

Produksjon

Konklusjon

Det er tre grunnleggende funksjoner for å få en substring av et røye på programmeringsspråk. Funksjonene er strncpy (), substr () og memcpy (). Ved å kopiere en viss mengde tegn fra en streng til en annen, kan du bruke strncpy () funksjon. For å trekke ut en del av strengen, kan du gå med substr () -funksjon. Mens du kan bruke memcpy () Funksjon, som overfører en rekke byte fra en minneadresse til en annen og dermed kan være effektiv for å få en streng av en røye.