Freaxxx
14-09-2011, 21:56
devo usare fscanf per acquisire il contenuto di un file, il file è strutturato come segue:
prima riga = un intero N
seconda riga = un elenco di N stringhe
da terza riga fino a EOF = è disposta una matrice NxN di interi
cioé
3
cane quaderno penna
342 22 6589
12 5555 15
74 205 73
adesso il mio problema è dare la logica giusta a fscanf() considerato che come variabili ho a disposizione
int N
char elenco[][] ( per contenere le stringhe sia carattere per carattere sia come stringhe )
int matrice[][]
il maggior problema l'ho riscontrato ( sempre logicamente ) nell'operatore di conversione da attribuire a fscanf e nel fatto che questo sia sequenziale durante le sue operazioni, quindi a me servirebbe comportarmi diversamente a seconda delle righe incontrate ( alla prima devo operare su un tipo di dato, sulla seconda altro tipo di dato e dalla terza in poi ritorno agli int )
se faccio fscanf(f,"%c",&c) è forse la scrittura migliore ma gli int mi diventano cifre singole anche se sono a doppia, tripla etc ... cifra, così non ho problemi con le stringhe perché mi fermo al primo carattere di tabulazione, ma gli int perdono il loro significato.
prima riga = un intero N
seconda riga = un elenco di N stringhe
da terza riga fino a EOF = è disposta una matrice NxN di interi
cioé
3
cane quaderno penna
342 22 6589
12 5555 15
74 205 73
adesso il mio problema è dare la logica giusta a fscanf() considerato che come variabili ho a disposizione
int N
char elenco[][] ( per contenere le stringhe sia carattere per carattere sia come stringhe )
int matrice[][]
il maggior problema l'ho riscontrato ( sempre logicamente ) nell'operatore di conversione da attribuire a fscanf e nel fatto che questo sia sequenziale durante le sue operazioni, quindi a me servirebbe comportarmi diversamente a seconda delle righe incontrate ( alla prima devo operare su un tipo di dato, sulla seconda altro tipo di dato e dalla terza in poi ritorno agli int )
se faccio fscanf(f,"%c",&c) è forse la scrittura migliore ma gli int mi diventano cifre singole anche se sono a doppia, tripla etc ... cifra, così non ho problemi con le stringhe perché mi fermo al primo carattere di tabulazione, ma gli int perdono il loro significato.