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 valoricharoriginali. - 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