Quindi, se ho ben capito, potrei trasformare il file in uno stream (array) di caratteri e confrontarlo con la sottostringa "\n" : appena la trovo significa che ho una nuova riga!

Ad ogni modo voglio sottoporre un caso interressante...nel frattempo ho trovato nel Web un'altra soluzione:

codice:
    FILE *fPtr;
    char *buffer;
    long filesize
...
    fPtr = fopen(file,"rb");
    fseek(fPtr,0,SEEK_END);
    filesize = ftell(fPtr);
    rewind(fPtr);
   
    buffer = (char *) malloc(filesize * sizeof(char));
...
    for(i=0; i<filesize ;i++){            //conta colonne della matrice
        if(buffer[i] == '\x09')
            mc++;
        if(buffer[i] == '\x0D'){
            mc++;
            break;
        }
    }
....
funziona bene questo meotdo, ma non ho capito da dove vengano le stringhe '\x09' e '\x0D' !!!
Si può generalizzarne l'uso su un qualsiasi file txt, oppure è un escamotage dell'autore del codice che li ha sapientemente messi a fine riga al momento della scrittura del file???