Sto provando un nuovo problema di UVA, il 337.

In sostanza, al programma viene passato sullo standard input un file che rappresenta un misto di comandi e di testo che deve essere inserito su una specie di terminale. I comandi sono introdotti dal carattere ^. Sono tutti lunghi 2 caratteri (^ seguito da una lettera che da il comando), a parte uno che è lungo 3 caratteri (^ seguito da 2 cifre).

Il file è costituito da un numero che indica il numero di linee di input che seguono.

Il mio è un problema di design, sulla lettura dell'input. Come dovrei leggerlo? E' possibile che l'input contenga degli spazi, quindi dovrò usare gets immagino.

Non sapendo la lunghezza delle stringhe, come dovrei leggerlo? Pensavo di dichiarare un array di 3 caratteri e riempirlo leggendo un carattere alla volta da cin, non sapendo quanto può essere lunga ogni riga di input.

Avete per caso qualche consiglio? Grazie...