C++ Dati strutturati: le stringhe

Balla

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:

 

 

 

 

 

 

Informazioni su Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
Questa voce è stata pubblicata in Senza categoria. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *