[C] Scanf e stringhe
Per un progetto in c, mi serve una funzione che deve dare la possibilità di inserire un valore numerico. Dev fare ciò con la scanf. Vorrei però che venisse segnalato errore nel caso si inserissero uno o più caratteri( stringa): Sapreste suggerirmi un modo per fare questo tipo di controllo?
Risposte
Potresti spiegarti meglio? Non sono sicuro di aver compreso bene cosa devi fare.
In ogni caso se lo scopo è l'acquisizione di un intero con controllo sull'input, potresti
- sfruttare il valore di ritorno della scanf() con annesso controllo del buffer di inserimento;
- o più semplicemente acquisisci l'input come stringa che andrai a convertire dopo tutti i controlli del caso.
In ogni caso se lo scopo è l'acquisizione di un intero con controllo sull'input, potresti
- sfruttare il valore di ritorno della scanf() con annesso controllo del buffer di inserimento;
- o più semplicemente acquisisci l'input come stringa che andrai a convertire dopo tutti i controlli del caso.
Penso che tu abbia risposto alla mia domanda, ma te lo spiego bene. Ho una funzione per inserire la latitudine:
Vorrei inserire un controllo che stampi un messaggio di errore nel caso il valore inserito non fosse un intero.
Penso seguirò la seconda idea da te proposta.
void inserisciLatitudine() { static int valoreLatitudine; printf("Inserisci il valore per la latitudine: "); scanf("%d", &valoreLatitudine); }
Vorrei inserire un controllo che stampi un messaggio di errore nel caso il valore inserito non fosse un intero.
Penso seguirò la seconda idea da te proposta.