🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Stringhe in C++

Codegrind Team•Jul 22 2023

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 o size: 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.