[FondInfo] Re:
Eduardo Calabrese
educal43 at gmail.com
Tue Feb 8 15:28:37 CET 2005
La funzione main e' piu' corretta cosi':
int main()
{
char word[80];
while (cin >> word)
{cout << "\t\"" << word << "\"\n";}
cout << "Fine del programma. " << endl;
return 0;
}
Evidentemente cin >> word non modifica il valore di word (array di
char) se ci troviamo alla fine del file. A proposito Ctrl-Z
introduce un EOF (fine file o fine dati, non fine stringa!).
--
Cordiali saluti,
Eduardo Calabrese
On Tue, 8 Feb 2005 13:53:12 +0100, ..... at studenti.unipr.it> wrote:
> Buongiorno prof. Calabrese, avevo un problema con la manipolazione delle
> stringhe in C++. Più precisamente,
> quando schiaccio la combinazione per il termine stringa CTRL+Z, mi viene
> visualizzato sullo schermo la
> combinazione ^Z, ma quando premo "invio" NON termina l'inserimento in maniera
> normale ma l'output e' costituito
> da una ripetizione continua dell'ultimo carattere inserito.
> Il computer su cui lavoro ha S.O. Windows XP Home edition, il compilatore C++
> che mi da' il problema e' il
> BLOODSHED DEV C++ versione 4.9.8.0. Ho installato anche un'altro compilatore
> C++, piu' vecchio, il DEV C++ 4.
> Su quest'ultimo, la combinazione CTRL+C ha lo stesso effetto della
> combinazione CTRL+Z, ovvero termina immediatamente il
> programma.
>
> Ad esempio, l'output del seguente programma:
>
> #include<iostream>
> #include<cmath>
> #include<ctime>
> #include<cstring>
> #include<iomanip>
> using namespace std;
> int main()
> {
> char word[80];
> cin >> word;
> while (*word)
> {cout << "\t\"" << word << "\"\n";
> cin >> word;}
> cout << "Fine del programma. " << endl;
> return 0;
> }
>
> con in ingresso la stringa A, stampa giustamente "A", ma una volta che
> schiaccio CTRL+Z, il programma dovrebbe interrompere il ciclo while() e
> stampare Fine del programma. Invece stampa continuamente (bisogna schiacciare
> CTRL+C per fermare l'esecuzione)
> "A"
> "A"
> "A"
> "A"
> ...
> "A"
> "A"
> ...
> e non si ferma più, se non si schiaccia appunto CTRL+C.
> Come faccio? Sull'Hubbard c'e' anche scritto che il carattere di fine stringa
> si puo' ottenere come CTRL-@, ma anche
> questo non funziona.
> Grazie per la disponibilita'.
> il mio indirizzo e-mail e' ... at studenti.unipr.it
>
>
More information about the FondInformatica
mailing list