03. Getsione stringhe - string.h

L'inclusione della libreria standard string.h consente l'utilizzo delle funzioni per la gestione delle stringhe e delle aree di memoria, come l'inizializzazione, la copia ed il confronto. Rimane esclusa l'allocazione (e deallocazione) dinamica della memoria, in quanto queste funzioni sono definite nella libreria standard stdlib.h

Per utilizzare la libreria standard string.h e' necessario includere l'header string.h nel file sorgente:

#include <string.h>


Le funzioni della libreria

memchr(), memcmp(), memcpy(), memmove(), memset()

strcat(), strchr(), strcmp(), strcoll(), strcpy(), strcspn()

strerror(), strlen(), strncat(), strncmp(), strncpy()

strpbrk(), strrchr(), strspn(), strstr(), strtok(), strxfrm()


Descrizione di alcune funzioni di uso comune


strlen()

Prototipo:

size_t strlen(const char *s);


Parametri in ingresso:

    • const char *s: stringa da analizzare.

Valore di ritorno:

    • size_t: ritorna il numero di caratteri di s, d esclusione del terminatore '\0'.

Descrizione:

La funzione strlen() calcola la lunghezza della stringa s, (inteso come il numero di caratteri dell'array puntato da s) escluso il terminatore '\0'.


strcmp()

Prototipo:

int strcmp(const char *s1, const char *s2);


Parametri in ingresso:

    • const char *s1: prima stringa da analizzare.

      • const char *s2: seconda stringa da analizzare.

Valore di ritorno:

    • int: ritorna un intero minore, uguale o maggiore di 0 a seconda che s1 sia (o i primi n caratteri siano) rispettivamente minore, uguale o maggiore di s2.

Descrizione:

La funzione strcmp() effettua il confronto fra le due stringhe s1 e s2.


strcpy()

Prototipo

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


Parametri in ingresso:

    • const char *dest: area di memoria in cui copiare la stringa

      • const char *src: stringa da copiare

Valore di ritorno:

    • char *: ritorna il puntatore alla stringa di destinazione dest.

Descrizione:

La funzione strcpy() copia la stringa src sull'area puntata da dest la quale deve essere sufficientemente ampia ad accogliere tutti i caratteri di src compreso il terminatore '\0'.


strcat()

Prototipo

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


Parametri in ingresso:

    • const char *dest: area di memoria contenente la stringa da aggiornare

      • const char *src: stringa da concatenare

Valore di ritorno:

    • char *: ritorna il puntatore alla stringa di destinazione dest.

Descrizione:

La funzione strcat() concatena la stringa src aggiungendola al termine della stringa dest.

La concatenazione avviene copiando la stringa src a partire dal terminatore della stringa desc. La copia di src è comprensiva del suo terminatore.

L'area di memoria puntata da dest deve essere sufficientemente ampia da accogliere entrambe le stringhe ed il terminatore '\0', quindi dest deve essere dimensionata almeno per contenere strlen(dest)+strlen(src)+1 caratteri.


Un descrizione dettagliata delle funzioni della libreria può essere trovata ai seguenti link:

https://it.wikibooks.org/wiki/C/Appendice/Librerie_standard/string.h

https://it.wikipedia.org/wiki/String.h

https://digilander.libero.it/uzappi/C/librerie/C-string.html

https://code-reference.com/c/string.h