Crea sito

Home » Linguaggi di programmazione » C ++ » La gestione delle stringhe

La gestione delle stringhe

I comandi essenziali

#include <string> è la libreria per il riconoscimento delle stringhe e dei comandi per la gestione.
Esempio di dichiarazione di una stringa:
string nome, cognome, sesso, anni;
const char eta=12;
nome =’’Mario’’;
cognome = nome;
sesso = ’f’;
anni=eta;
è possibile inizializzare una variabile stringa all’inizializzazione
string saluto=”Salve”, saluto2=saluto;
non é possibile inizializzazione con caratteri o interi
string s=’c’;  oppure saluto1=3;
non é possibile andare a capo in un’assegnazione a costante stringa
string sbagliata=> “stringa veramente troppo,
                                lunga “;
cosí peró va bene…
string corretta=> “stringa veramente troppo, \n “
”lunga “;
\n –> si puó inserire il carattere ritorno carrello (o il tab).

OUTPUT DI STRINGHE
Una stringa si puó visualizzare inserendolo su uno stream di output
string saluto=”salve mondo!!”;
cout«saluto«endl;
Attenzione a inserire gli spazi….
string saluto=”salve”;
cout«saluto«”mondo”«endl;
pertanto la visualizzazione sarà ==>  “salvemondo”

INPUT DI STRINGHE
Si può usare l’operatore di estrazione da stream
string indirizzo;
cin » indirizzo;

la lettura ignora gli spazi iniziali e poi estrae tutti i caratteri fino ad uno spazio bianco. La quantità di memoria allocata viene automaticamente adattata.

La funzione getline fornisce un maggiore controllo (ad es. carattere terminatore della stringa)
L’istruzione cin, usata nell’esempio precedente per acquisire una stringa, presenta il problema che non acquisisce stringhe contenenti al proprio interno degli spazi. Per esempio volendo acquisire la stringa “Viale Ofanto 150” con cin>>indirizzo;
alla fine indirizzo conterrebbe solo “Viale” poiché l’acquisizione termina automaticamente in corrispondenza del primo spazio. Il problema può essere risolto in C++ usando la funzione getline nel seguente modo: getline(cin, indirizzo);

La sintassi è abbastanza semplice: getline(cin, nome_stringa_da_acquisire)
E’ importante non confondere la funzione getline con la cin.getline usata per acquisire stringhe rappresentate come vettori di char (cioè nel modo “tradizionale” del linguaggio C).

Nota: Potrebbero vericarsi anomalie nell’acquisizione di stringhe contestalizzate in variabili strutturate (array e/o matrici di stringhe), pertanto prima di acquisire la stringa con il comando di getline, si scrive la funzione fflush(stdin).

Metodi
Titolo: Metodi (0 click)
Etichetta:
Filename: metodi.pdf
Dimensione: 257 KB

Funzioni
Titolo: Funzioni (0 click)
Etichetta:
Filename: funzioni.pdf
Dimensione: 172 KB

Archivi

Aprile: 2019
L M M G V S D
« Gen    
1234567
891011121314
15161718192021
22232425262728
2930