Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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: 6402
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: 6402
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