Wie man ein Substring eines Chars erhalten**

Wie man ein Substring eines Chars erhalten**

A Substring eines Chars* ist ein unkompliziertes Thema, das leicht zu erreichen ist. Dies kann für eine Vielzahl von Programmieraufgaben wie Hacking, Web -Crawling und String Manipulation verwendet werden. In diesem Artikel werde ich das grundlegende Konzept diskutieren und die erforderlichen Schritte zum Erhalten von a skizzieren Substring von einem Char*.

Bevor wir uns jedoch zum Hauptprozess bewegen, verstehen wir zunächst das Konzept von a Substring.

Was ist ein Substring?

Ein Substring ist nur eine kleinere Zeichenfolge des Haupttextes. Dieser kleinere „Teil“, der erhalten wird. Zum Beispiel, wenn die ursprüngliche Zeichenfolge war "Hallo Welt", dann ist die Substring wäre "Hallo" oder "Welt" Abhängig von der gewünschten Ausgabe.

Holen Sie sich eine Substring eines Chars

Die C -Benutzer können durch folgende Funktionen eine Substring eines SHAR erhalten:

  • strncpy () Funktion
  • sbstr () Funktion
  • memcpy () Funktion

1: strncpy () Funktion

Der erste Weg, um eine zu bekommen Substring eines Chars* ist die Verwendung des strncpy () C -Bibliotheksfunktion. Es kopiert eine bestimmte Anzahl von Zeichen von einer Zeichenfolge zu einer anderen. Verwenden Sie diese Funktion, um ein Substring von einem Zeichen* auf einen frisch konstruierten Puffer zu übertragen. Hier ist ein Beispiel für die Verwendung strncpy ():

Hier bezeichnet POS den Anfang Index Und Len ist die gewünschte Substringslänge.

#enthalten
#enthalten
int main ()

int pos, len;
char st [14] = "abcdefghijklm";
Char -Substring [14];
pos = 6;
Len = 5;
printf ("Original String ist: %s", str);
printf ("\ nsubstring ist:");
strncpy (Substring, Str+(pos-1), len);
printf (substring);
Rückkehr 0;

In diesem Beispiel, Substring ist der Zielpuffer, char str ist die Quellzeichenfolge und pos IS 6, was bedeutet, dass String Slicing von der 6. Position beginnt (F) und endet mit dem fünften Wert, nämlich J im Falle. Dies führt zu einem Substring Puffer der ersten 50 Zeichen aus dem ursprünglichen Char* kopiert von.

Ausgang

2: substr () Funktion

Der zweite Weg, eine zu bekommen Substring eines Chars* ist die Verwendung des substr () C -Bibliotheksfunktion. Es wird verwendet, um einen Abschnitt einer Zeichenfolge zu extrahieren, die auf dem Startindex und der Anzahl der Zeichen basiert. Diese Funktion kann verwendet werden, um einen Zeiger an das Substring zurückzugeben oder die vorhandene Zeichenfolge zu ändern. Ein Beispiel für substr () Die Verwendung ist Folgendes:

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

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

*dest = '\ 0';
Rückkehr Dest-Len;

int main ()

char src [] = "Wir werden Substring aus einer Zeichenfolge extrahieren";
int m = 6;
int n = 15;
char* dest = substr (src, m, n);
printf ("%s", dest);
Rückkehr 0;

In diesem Code die Länge und der Ort der Substring Slice werden in der benutzerdefinierten Methode bestimmt substr (), und die Scheibe wird dann in die platziert Ziel variabel und in der Hauptfunktion gedruckt. Der obige Code gibt das Substring zwischen 6. Position aus (l) Und 15 von Anfang an, was ist T von dem "Extrakt" Saite. M ist der Ausgangspunkt und N ist der Endpunkt in diesem Fall. Ausgang:

3: memcpy () Funktion

Der dritte Weg, um eine zu bekommen Substring eines Chars* ist die Verwendung des memcpy () C -Bibliotheksfunktion. Es kopiert mehrere Bytes von einem Speicherort zum anderen. Verwenden Sie diese Funktion, um ein Substring von einem Zeichen* auf einen frisch konstruierten Puffer zu übertragen. Ein Beispiel für memcpy () Die Verwendung ist Folgendes:

#enthalten
#enthalten
int main (void)

char *text = "Dies ist die vollständige Zeichenfolge";
char subtext [7];
memcpy (subtext & text [9], 6);
subtext [6] = '\ 0';
printf ("Original String: %S \ n", Text);
printf ("substring: %s", subtext);
Rückkehr 0;

In diesem Code die Text Die gespeicherte Zeichenfolge der Variablen wird zuerst angezeigt und dann die memcpy () Methode wird verwendet, um das Substring zu extrahieren, der das hat Länge von 6, die Position von 9 und das Original Text Saite. Der Substring wird dann gedruckt, nachdem er in der gerettet wurde Subtext Variable.

Ausgang

Abschluss

Es gibt drei grundlegende Funktionen, um eine Substrierung eines SHAR in C -Programmiersprache zu erhalten. Die Funktionen sind strncpy (), substr () Und memcpy (). Indem Sie eine bestimmte Anzahl von Zeichen von einer Zeichenfolge auf eine andere kopieren, können Sie die verwenden strncpy () Funktion. Um einen Teil der Saite zu extrahieren, können Sie mit dem gehen substr () Funktion. Während Sie die verwenden können memcpy () Funktion, die eine Reihe von Bytes von einer Speicheradresse an eine andere überträgt und somit effektiv sein kann, um eine Zeichenfolge eines Zeichens zu erhalten.