Salve, stavo tentando di fare un programmino che leggesse un file di interi strutturato in questo modo:
quindi il file contiene delle matrici di interi (anche negativi) dove la prima riga contiene la dimensione della prima matrice e poi la matrice stessa, dove ogni elemento della matrice è costituito da tre numeri;codice:3,5 1 1 1 , 2 2 2 , 3 3 3 , 4 4 4 , 5 5 5 11 11 11 , 22 22 22 , 33 33 33 , 44 44 44 , 55 55 55 111 111 111 , 222 222 222 , 333 333 333 , 444 444 444 , 555 555 555 3,7 1 1 1 , 2 2 2 , 3 3 3 , 4 4 4 , 5 5 5 , 6 6 6 , 7 7 7 11 11 11 , 22 22 22 , 33 33 33 , 44 44 44 , 55 55 55 , 66 66 66 , 77 77 77 111 111 111 , 222 222 222 , 333 333 333 , 444 444 444 , 555 555 555 , 665 665 665 , 777 777 777 ....
Ho iniziato a fare un programmino ma ho trovato un problema,
una volta letti i valori di numero di righe e colonne vorrei scorrere la matrice fino alla fine della riga (\n)
Quindi faccio così:
Con questo prendo gli elementi a tre a tre e anche la virgola che separa i gruppi di elementi, va bene per tutti i gruppi della matrice tranne l'ultimo! Ad esempio una volta attraversata tutta la prima riga il valore che mi torna la fscanf è il seguente:codice:while (vir!='\n') { fscanf(myfile,"%d %d %d %c",&xx,&yy,&zz,&vir); ...
"5 5 5 1" dove l'uno è il primo carattere della riga successiva! Perchè non mi trova lo '\n'?? Nel file c'è l'acapo!
Aiutatemi grazie!

Rispondi quotando