Wie man einen Substring in C erhält
-
memcpy()Funktion zum Erhalten einer Teilzeichenkette in C -
strncpy()Funktion zum Abrufen einer Teilzeichenkette in C
Dieses Tutorial führt ein, wie man eine Teilzeichenkette aus dem Zeichenwert in C erhält. Es gibt verschiedene Methoden, um eine Teilzeichenkette aus dem Zeichen zu erhalten, wie memcpy() und strncpy().
memcpy() Funktion zum Erhalten einer Teilzeichenkette in C
Die Funktion memcpy() kopiert die Anzahl der Zeichen von der Quelle in den Speicherbereich des Ziels. Diese Funktion ist in der <string.h> Header-Datei verfügbar.
Diese Funktion erzeugt ein Problem, wenn sich die Adressen von Quelle und Ziel überschneiden. Diese Funktion prüft nicht auf eine Null-Adresse oder ob der Überlauf auftritt oder nicht.
Die Funktion memcpy() gibt einen Zeiger auf die Zielzeichenkette zurück. Es gibt keinen Rückgabewert, um einen Fehler anzuzeigen.
Syntax von memcpy()
void *memcpy(void *destination_string, const void *source_string,
size_t number);
- Der
destination_stringist ein Zeiger auf den Zielstring. - Der
source_stringist ein Zeiger auf ein Array mit einem Wert des ursprünglichen Zeichentyps. - Die
numberist die Anzahl der Zeichen.
#include <stdio.h>
#include <string.h>
int main(void) {
char *text = "The test string is here";
char subtext[7];
memcpy(subtext, &text[9], 6);
subtext[6] = '\0';
printf("The original string is: %s\n", text);
printf("Substring is: %s", subtext);
return 0;
}
Ausgabe:
The original string is: The test string is here
Substring is: string
strncpy() Funktion zum Abrufen einer Teilzeichenkette in C
Die strncpy() Funktion ist die gleiche wie die strcpy() Funktion. Der einzige Unterschied besteht darin, dass die Funktion strncpy() die angegebene Anzahl von Zeichen von der Quellzeichenkette in die Zielzeichenkette kopiert. Die Funktion strncpy() ist in der Header-Datei <string.h> verfügbar.
Diese Funktion gibt nach dem Kopieren der Quellzeichenkette einen Zeiger auf die Zielzeichenkette zurück.
Syntax von strncpy()
void *strncpy(void *destination_string, const void *source_string,
size_t number);
- Der
destination_stringist ein Zeiger auf den Zielstring. - Der
source_stringist ein Zeiger auf ein Array mit den ursprünglichenchar-Werten. - Die
numberist die Anzahl der Zeichen.
Wenn die Funktion strncpy() auf ein Null-Zeichen im source_string trifft, fügt die Funktion Null-Zeichen zum destination_string hinzu.
#include <stdio.h>
#include <string.h>
int main(void) {
char *text = "The test string is here";
char subtext[7];
strncpy(subtext, &text[9], 6);
subtext[6] = '\0';
printf("The original string is: %s\n", text);
printf("Substring is: %s", subtext);
return 0;
}
Ausgabe:
The original string is: The test string is here
Substring is: string
Verwandter Artikel - C Char
- Länge eines Char-Arrays in C ermitteln
- Verwendung der getchar-Funktion in C
- Vergleiche Char in C
- So konvertieren Sie Integer in Char in C