Ciao,
ho un problema con sscanf:
ho un file .dat con una data, 8 numeri e un'altra data.
Le date sono in formato gg/mm/hhhh.
Voglio andar a scrivere il file da un'altra parte e lo leggo riga per riga.
I numeri sono dichiarati double, le date char [1];
Il pezzo di codice incriminato è:
Il problema è il seguente:codice:while (fgets(&line,100,fdat)) { sscanf(&line[0],"%s%f%f%f%f%f%f%f%f%s", &PROVA.Data1, &PROVA.Continente, &PROVA.Nazione, &PROVA.Regione, &PROVA.Citta, &PROVA.Borgo, &PROVA.Via, &PROVA.Palazzo, &PROVA.Piano, &PROVA.Data2); }
sembra che non riesca a gestire la lunghezza della prima data (Data1).
Infatti, se provo a sostituire la lettera "a" al posto della prima data, lui scrive tutto correttamente, anche l'ultima data.
Nel momento in cui scrivo la prima data, in uscita ho solo i primi caratteri (es: 12/01/2010 esco scritto solo 12/0).
Qualche idea?
Grazie dell'aiuto.

Rispondi quotando