[:it]
Introduzione
Una stringa è una sequenza finita di caratteri che generalmente viene racchiusa tra virgolette ed apici(” “).
La stringa è una sequenza di caratteri del tipo c1, c2, c3, c4, c5.
La stringa deve essere costituita da un numero finito di caratteri, che prende il nome di lunghezza della stringa.
Se la stringa non è composta da alcun carattere essa si dice vuota e ha lunghezza uguale a zero. Ogni carattere assume nella stringa una posizione d’ordine che, come nel caso di vettori, si chiama indice della stringa.
Per consentire al programmatore una più efficiente manipolazione delle stringhe, il C++ consente di interpretare una sequenza di caratteri come una singola unità, mettendo a disposizione l’apposita libreria standard, la string.h, contenente tutte le informazioni di utilità di frequente utilizzo.
Una caratteristica importante è che ad indicare il termine della sequenza di caratteri c’è un carattere terminatore ‘\0’.
Operare con le stringhe
Definizione di una stringa
char parola[20]; //dichiarazione di una stringa
per accedere a ogni carattere della parola è possibile accedere a ogni elemento dell’array singolarmente, quindi:
printf(“%c”,parola[4]; //visualizza il 5° elemento/carattere
Dovendo contenere il terminatore, è importante ricordarsi di dimensionare opportunamente l’array .
Inizializzazione di una stringa
char stringa1[]=”paolo”;
char stringa2[6]=”paolo”;
Igresso/Uscita di una stringa
Per visualizzare il contenuto di una stringa si deve utilizzare la specifica di formato %s:
printf(“%s”\n”, stringa1);
Con questa istruzione vengono stampati tutti i caratteri fino al primo ‘\0’.
Analoga specifica di formato si deve usare per l’input:
char stringa3[20];
scanf(“%s”,stringa3);
la funzione scanf() opera sulle stringhe nel seguente modo:
- vengono letti i caratteri dalla tastiera e inseriti nel vettore finchè viene incontrato il primo carattere di spaziatura;
- al posto della spaziatura viene inserito il terminatore di stringa ‘\0’;
- il vettore deve avere una dimensione tale da contenere tutti i caratteri compreso il terminatore.
Manipolazione di una stringa
Nella libreria string.h sono disponibili molte funzioni per la manipolazione della stringhe, che realizzano operazioni di utilizzo frequente.
Ad esempio la funzione
int strlen(char[]) che restituisce il numero di caratteri presenti nella stringa ricevuta in ingresso come parametro e ci risparmia di contare il numero di caratteri.
Esempio:
[:]