AD

La libreria string.h in C

La libreria string.h del linguaggio C permette di includere nel proprio programma diverse funzioni molto utili per effettuare particolari operazioni sulle stringhe, ma anche sulla memoria. Nello specifico la libreria string.h mette a disposizione diverse funzioni per copiare, concatenare, comparare, ricercare e molto altro.

Le funzioni che si trovano all’interno della libreria string.h sono molto popolari, soprattutto perchè il loro corretto funzionamento è garantito su ogni piattaforma che supporta il linguaggio C. Ciononostante, alcune funzioni presentano dei rischi legati alla sicurezza se non gestiti in maniera corretta, come ad esempio buffer overflow.

Nella seguente tabella vengono riportate le principali funzioni presenti all’interno della libreria string.h, molte di quelle presenti verranno spiegate nelle pagine successive:

Funzione

Descrizione

char strcat(char dest, const char *src);

Concatena la stringa src alla stringa dest

char strncat(char dest, const char *src, size_t n);

Concatena n caratteri della stringa src alla stringa dest

char strchr(const char str, int c);

Restituisce il puntatore alla prima occorrenza del carattere c all’interno della stringa str

char strrchr(const char str, int c);

Restituisce il puntatore all’ultima occorrenza del carattere c all’interno della stringa str

int strcmp(const char str1, const char str2);

Confronta la stringa str1 con la stringa str2

int strncmp(const char str1, const char str2, size_t n);

Confronta al massimo i primi n caratteri della stringa str1 con la stringa str2

int strcoll(const char str1, const char str2);

Confronta le due stringhe str1 e str2 utilizzando l’ordine lessicografico

char strcpy(char dest, const char *src);

Copia la stringa src nella stringa dest

char strncpy(char dest, const char *src, size_t n);

Copia al massimo n caratteri della stringa src nella stringa dest

size_t strlen(const char *str);

Restituisce la lunghezza della stringa str

size_t strspn(const char str1, const char str2);

Restituisce la lunghezza iniziale della stringa str1 che consiste interamente da caratteri presenti nella stringa str2

size_t strcspn(const char str1, const char str2);

Restituisce la lunghezza iniziale della stringa str1 che consiste interamente da caratteri non presenti nella stringa str2

char strpbrk(const char str1, const char *str2);

Restituisce il puntatore al primo carattere nella stringa str1 che corrisponde a qualsiasi carattere presente nella stringa str2

char strstr(const char haystack, const char *needle);

Trova la prima occorrenza della stringa needle all’interno della stringa haystack

char strtok(char str, const char *delimiters);

Spezza la stringa str in una serie di token separati dal carattere delimiters