Salve a tutti!
Ho i seguenti 2 files
Nel file 1 c'è:
0 0
0 1
0 2
Nel file 2 c'è:
0 0 0
0 0 1
0 1 0
In un programma C
Se dim vale 2 deve andare bene il primo file che ha 2 elementi per riga, e inserire i dati in una matrice
Se dim vale 3 deve andare bene il secondo..., ma non il primo.
E' ovvio che un file con n elementi per riga va bene solo se dim = n;
ora ho il seguente listato:
Codice PHP:
...
int i=0, j=0, righe=3, dim = 2, n, matrice[righe][dim];
char temp[16], buf[16];
while( i<righe && (n=read(fd, buf, 2*dim*sizeof(char) ) > 0))
{
j = 0;
temp = strtok(buf, " ");
while(temp != NULL && j<dim)
{
if(atoi(temp)>=0)
{
matrice[i][j] = atoi(temp);
j++;
temp = strtok(NULL, " ");
}
}
i++;
}
Cosa c'è che non va?
Non riesco a capire come fare a contare gli elementi per ogni riga, visto che la read prende il numero di byte da leggere...quindi se dim=2, indipendentemente dal file legge i dati e li salva nella matrice...(anche quando non dovrebbe esempio dim=2 e file con 3 elementi per riga...)
Chi mi aiuta?
Spero di essermi spiegato...