PDA

Visualizza la versione completa : [C++] Limitare la lunghezza delle stringhe


CrashOverride
17-01-2005, 11:31
ciao a tutti,

in un piccolo programma c++ leggo da tastiera una stringa con il seguente codice :



char Str[80];
cin.getline(Str,79);


possibile limitare l'inserimento a 79 caratteri ??

mi spiego meglio : quando l'utente inserisce la stringa e arriva a 79 caratteri, non deve pi essergli permesso di continuare.

avete idee ?? :bh:

perzem
17-01-2005, 11:42
non credo tu possa impedire l'invio di caratteri da tastiera, puoi solo leggere fino al 79 e poi cestinare tutto il resto

teju
17-01-2005, 11:51
Originariamente inviato da perzem
non credo tu possa impedire l'invio di caratteri da tastiera, puoi solo leggere fino al 79 e poi cestinare tutto il resto
Si, lo credo anch'io

LeleFT
17-01-2005, 15:09
Originariamente inviato da CrashOverride
ciao a tutti,

in un piccolo programma c++ leggo da tastiera una stringa con il seguente codice :



char Str[80];
cin.getline(Str,79);


possibile limitare l'inserimento a 79 caratteri ??

mi spiego meglio : quando l'utente inserisce la stringa e arriva a 79 caratteri, non deve pi essergli permesso di continuare.

avete idee ?? :bh:
Devi cambiare costrutto: puoi utilizzare una funzione (ad esempio getch() ) che notifica la pressione di un tasto da tastiera (senza che l'utente prema INVIO) e restituisce il carattere letto. Inserisci questa funzione all'interno di un ciclo while che tenga conto dei caratteri inseriti. In questo modo puoi limitare l'inserimento a 79 caratteri, facendo im nodo che il programma ignori completamente qualsiasi altro tasto premuto e non lo visualizzi nemmeno a video. Ovviamente devi gestire i casi principali (come pressione del backspace per la correzione, o caratteri particolari come le frecce direzionali, i tasti funzione...).


Ciao. :ciauz:

Loading