Stringhe in C++
Le stringhe sono una parte fondamentale della programmazione e sono utilizzate per rappresentare sequenze di caratteri. In C++, le stringhe sono gestite tramite oggetti della classe std::string
fornita dalla libreria standard del linguaggio. Esploriamo in dettaglio le stringhe, inclusi come crearle, indicizzarle, effettuare operazioni di slicing, concatenazione, interpolazione e alcuni metodi utili.
Creazione di Stringhe
Per creare una stringa in C++, puoi dichiarare una variabile di tipo std::string
e assegnarle un valore:
#include <iostream>
#include <string>
int main() {
std::string nome = "Alice";
std::string saluto = "Ciao, ";
std::string messaggio;
messaggio = saluto + nome; // Concatenazione di stringhe
std::cout << messaggio << std::endl;
return 0;
}
Indicizzazione delle Stringhe
Le stringhe in C++ sono una sequenza di caratteri, e puoi accedere a singoli caratteri utilizzando l’indicizzazione (indice basato su zero):
std::string parola = "Hello";
char primoCarattere = parola[0]; // Accedi al primo carattere ('H')
char terzoCarattere = parola[2]; // Accedi al terzo carattere ('l')
Slicing delle Stringhe
Puoi ottenere una sottostringa (slicing) da una stringa utilizzando la funzione substr
:
std::string frase = "Questo è un esempio";
std::string sottostringa = frase.substr(5, 2); // Prendi 2 caratteri a partire dall'indice 5 ("è ")
Concatenazione delle Stringhe
Puoi concatenare due stringhe utilizzando l’operatore +
o il metodo append
:
std::string primaParte = "Hello, ";
std::string secondaParte = "world!";
std::string messaggio = primaParte + secondaParte; // Concatenazione con l'operatore '+'
// Oppure usando il metodo 'append':
messaggio.append(" Welcome!"); // Concatena " Welcome!" alla fine di 'messaggio'
Interpolazione di Stringhe
Puoi interpolare (combinare) stringhe e variabili in un’unica stringa utilizzando l’operatore di inserimento (<<
) o la libreria sprintf
:
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string nome = "Alice";
int eta = 30;
// Utilizzo dell'operatore di inserimento
std::cout << "Ciao, " << nome << "! Hai " << eta << " anni." << std::endl;
// Utilizzo della libreria 'sprintf'
char buffer[100];
sprintf(buffer, "Ciao, %s! Hai %d anni.", nome.c_str(), eta);
return 0;
}
Metodi Utili per le Stringhe
La classe std::string
offre numerosi metodi utili per manipolare le stringhe. Ecco alcuni esempi:
length
osize
: Restituiscono la lunghezza della stringa.
std::string testo = "Esempio";
int lunghezza = testo.length(); // lunghezza sarĂ 7
find
: Cerca la prima occorrenza di una sottostringa.
std::string frase = "La pizza è deliziosa.";
size_t pos = frase.find("pizza"); // posizione di "pizza" sarĂ 3
replace
: Sostituisce una sottostringa con un’altra.
std::string testo = "Il mio gatto è nero.";
testo.replace(12, 4, "cane"); // Sostituisce "gatto" con "cane"
to_string
: Converte tipi numerici in stringhe.
int numero = 42;
std::string numeroComeStringa = std::to_string(numero); // numeroComeStringa sarĂ "42"
Conclusioni
Le stringhe sono uno strumento essenziale per gestire testo e dati nelle applicazioni. In C++, la classe std::string
offre numerosi metodi per manipolare le stringhe in modo flessibile. Comprendere come creare, manipolare e utilizzare le stringhe è fondamentale per lo sviluppo di applicazioni C++ efficaci.