Ottieni una sottostringa in C
-
Funzione
memcpy()
per ottenere una sottostringa in C -
Funzione
strncpy()
per ottenere una sottostringa in C
Questo tutorial introduce come ottenere una sottostringa dal valore del carattere in C. Ci sono diversi metodi per ottenere una sottostringa dal carattere come memcpy()
e strncpy()
.
Funzione memcpy()
per ottenere una sottostringa in C
La funzione memcpy()
copia il numero di caratteri dalla sorgente all’area di memoria della destinazione. Questa funzione è disponibile nel file di intestazione <string.h>
.
Questa funzione crea un problema quando gli indirizzi di origine e destinazione si sovrappongono. Questa funzione non verifica la presenza di un indirizzo nullo o se si verifica o meno l’overflow.
La funzione memcpy()
restituisce un puntatore alla stringa di destinazione. Non esiste alcun valore di ritorno per visualizzare un errore.
Sintassi di memcpy()
void *memcpy(void *destination_string, const void *source_string,
size_t number);
- La
destination_string
è un puntatore alla stringa di destinazione. - La
source_string
è un puntatore a un array del tipo di carattere originale di valore. - Il
number
è il numero di caratteri.
#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;
}
Produzione:
The original string is: The test string is here
Substring is: string
Funzione strncpy()
per ottenere una sottostringa in C
La funzione strncpy()
è la stessa della funzione strcpy()
. L’unica differenza è che la funzione strncpy()
copia il numero di caratteri specificato dalla stringa sorgente alla stringa di destinazione. La funzione strncpy()
è disponibile nel file di intestazione <string.h>
.
Questa funzione restituisce un puntatore alla stringa di destinazione dopo aver copiato la stringa di origine.
Sintassi di strncpy()
void *strncpy(void *destination_string, const void *source_string,
size_t number);
- La
destination_string
è un puntatore alla stringa di destinazione. - La
stringa_origine
è un puntatore a un array di valorichar
originali. - Il
number
è il numero di caratteri.
Se la funzione strncpy()
incontra un carattere null in source_string
, la funzione aggiungerà caratteri null a destination_string
.
#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;
}
Produzione:
The original string is: The test string is here
Substring is: string
Articolo correlato - C Char
- Confronta Char in C
- Convertire Integer a Char in C
- Ottieni la lunghezza di un array di caratteri in C
- Usa la funzione getchar in C