Federico Lelli / SchoolC++
PERCORSO GUIDATO

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.

Materiali didattici curati e rielaborati da Federico Lelli. Le fonti e i riferimenti specifici sono indicati nei materiali disponibili.