Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Limitare la lunghezza delle stringhe

    ciao a tutti,

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

    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 ??

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    non credo tu possa impedire l'invio di caratteri da tastiera, puoi solo leggere fino al 79 e poi cestinare tutto il resto

  3. #3
    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
    .: Teju.it - Una vita da raccontare
    .: 8s8.it - Wordpress gratis per tutti
    .: Vado.li - Accorcia URL

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: [C++] Limitare la lunghezza delle stringhe

    Originariamente inviato da CrashOverride
    ciao a tutti,

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

    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 ??
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.