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_string
ist ein Zeiger auf den Zielstring. - Der
source_string
ist ein Zeiger auf ein Array mit einem Wert des ursprünglichen Zeichentyps. - Die
number
ist 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_string
ist ein Zeiger auf den Zielstring. - Der
source_string
ist ein Zeiger auf ein Array mit den ursprünglichenchar
-Werten. - Die
number
ist 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