Buongiorno ragazzi,
ho un file .csv caratterizzato da 6 colonne e da un certo numero di righe. Vorrei leggerlo e salvare i dati in una lista. Ho realizzato il seguente codice, usando EOF. Nel file ci sono 3 righe, ma cicla solo una volta. Cosa ho sbagliato? Grazie in anticipo
utente *lettura_Utenti(FILE *fp) {
int t_id;
int t_permessi;
char t_nome[Char_size];
char t_cognome[Char_size];
char t_nick[Char_size];
char t_password[Char_size];
utente *testa_Utente = NULL;
utente *temp_Utente = NULL; //temporanea
if (fp == NULL) {
printf("\t \t \t| File non trovato!|\n");
} else {
while (fscanf(fp,"%d %d %s %s %s %s", &t_id ,&t_permessi, t_nome, t_cognome, t_nick, t_password) != EOF) {
//leggo una riga del file utenti.csv e la inserisco nel buffer
//fgets(buf, BUFFER_SIZE, fp);
temp_Utente = (utente *) malloc(sizeof(utente));
temp_Utente -> next_Utente = NULL;
temp_Utente -> id = t_id;
temp_Utente -> permessi = t_permessi;
strcpy(temp_Utente -> nome, t_nome);
strcpy(temp_Utente -> cognome, t_cognome);
strcpy(temp_Utente -> nick, t_nick);
strcpy(temp_Utente -> password, t_password);
// Inserimento in TESTA
temp_Utente -> next_Utente = testa_Utente;
testa_Utente = temp_Utente;
}
}
return testa_Utente;
}