Ok,
ho trovato un barbatrucco per aggirare (attenzione, non risolvere, aggirare) il problema e lo metto qui, nel caso qualcuno ne avesse bisogno in futuro:
codice:
while (fgets(&line,100,fdat))
{
strncpy (&PROVA.Data1[0],&line[0],10);
sscanf(&line[11],"%f%f%f%f%f%f%f%f%s",
&PROVA.Continente,
&PROVA.Nazione,
&PROVA.Regione,
&PROVA.Citta,
&PROVA.Borgo,
&PROVA.Via,
&PROVA.Palazzo,
&PROVA.Piano,
&PROVA.Data2);
}
In pratica, sto forzando (con strncpy) i primi 10 caratteri del file a finire in Data1 (che è diventato un array da 10 posti); tutto il resto va come prima con sscanf.
Se qualcuno ha un'idea migliore, è più che ben accetta!!!