Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Input numerico sicuro. Come fare?
Forum - C/C++ - Input numerico sicuro. Come fare?

Avatar
gcali (Normal User)
Newbie


Messaggi: 12
Iscritto: 23/03/2014

Segnala al moderatore
Postato alle 20:40
Venerdì, 02/05/2014
L'uso di
Codice sorgente - presumibilmente Plain Text

  1. scanf("%d", &variabile)

porta ad un errore in caso di input non numerico. Come fare a tutelare un programma da input involontari o maligni? Avevo pensato di prendere in input con un gruppo di scansione %[1234567890] una stringa e poi convertirla con atoi o simili. E' una soluzione corretta? Ci sono soluzioni più efficienti?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:52
Venerdì, 02/05/2014
Usa una funzione per accettare una stringa e poi tratta la stringa nel tuo programma.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
gcali (Normal User)
Newbie


Messaggi: 12
Iscritto: 23/03/2014

Segnala al moderatore
Postato alle 20:56
Venerdì, 02/05/2014
Allora prendo in input una stringa con fgets o scanf e ne controllo l'integrità. Pensavo ci fossero altri modi, grazie per l'aiuto :)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:58
Venerdì, 02/05/2014
Usa fgets


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote