11 | Stringhe e testo
Capitolo 11 · Teoria, esempio ragionato e verifica.
Prima di iniziare: completa il capitolo 10.
Concetti e definizioni
std::string rappresenta una sequenza di char e gestisce la memoria necessaria. cin >> parola legge fino allo spazio; getline legge una riga. Dopo una lettura numerica il carattere di fine riga può restare nello stream. La lunghezza misura unità char, non necessariamente caratteri visibili: UTF-8 usa più byte per molti simboli.
Esempio completo
Salva come esempio.cpp. Compila con g++ -std=c++17 -Wall -Wextra esempio.cpp -o esempio; esegui ./esempio (PowerShell: .\esempio.exe).
#include <iostream>
#include <string>
int main() {
std::string nome;
std::getline(std::cin, nome);
std::cout << "Ciao, " << nome << "!\n";
}Segui l’esecuzione
Con Ada Lovelace ottieni Ciao, Ada Lovelace! e conservi lo spazio interno. Una riga vuota è un input possibile.
Prova tu
Conta gli spazi in una riga senza confondere numero di spazi e numero di parole.
Casi di prova e criteri di riuscita
"ciao mondo" → 1; "a b" → 2; riga vuota → 0.
Prima di proseguire
Descrivi a parole l’algoritmo, esegui i casi di prova e spiega almeno un possibile errore. Poi passa agli esercizi del capitolo 11.