[C]Leggere da file
Ciao, avrei un dubbio, ma se leggo da fine con una fscanf e voglio leggere una un orario nel formato hh:mm:ss, se voglio salvare ore minuti e secondi in tre veriabili di tipo int se faccio una fscanf(file,"%d %d %d",&ore,&minuti,&secondi); va bene?
Sono indeciso perche ho paura che non salvi bene nelle variabili perchè ci sono i ":" fra le ore e i secondi...come li tratta i ":" il programma se leggo da file?
Grazie!
Sono indeciso perche ho paura che non salvi bene nelle variabili perchè ci sono i ":" fra le ore e i secondi...come li tratta i ":" il programma se leggo da file?
Grazie!
Risposte
Quando inserisci un carattere come ':' nella stringa di formato, fscanf legge un carattere e se è uguale a ':' prosegue e altrimenti si ferma con un errore. La stringa di formato potrebbe quindi essere "%d:%d:%d". Tuttavia c'è un altro problema legato alla possibile presenza di uno zero iniziale che in C significa che il valore letto sarà in ottale.
Quindi se scrivo solo %d %d %d e sbagliato?
Sì, se vuoi leggere i due punti devi mettere quelli e non lo spazio..
Quindi in poche parole se non metto i due punti mi da errore?
A me di leggere in due punti in teoria non interessa... A me basta che salvi ore min e sec nelle variabili
Legge solo il primo valore e si ferma restituendo uno invece di 3.