Problema conversione file csv a file binario

di il
1 risposte

Problema conversione file csv a file binario

Ragazzi ho un problema, devo convertire un file csv in file binario: il problema è che non mi scrive mezzo rigo nel file binario mentre riesce a leggere tutti i righi del file csv corrattemente(solo l'ultimo rigo lo legge 2 volte ma vabbe non è un problema grosso per il momento)
struct Admin{
	unsigned int IdUtenti;
	char Nome[20];
	char Cognome[20];
	char Username[20];
	char Password[20];
	char Email[50];
	char Cellulare[10];
};

int main(void) {
	struct Admin f;
	    char line[1024];
	    FILE* ptrUtent;
	    FILE* destinazione;

	    ptrUtent = fopen("Utenti.csv", "r");

	        destinazione = fopen("Utenti.txt","wb+");

	        fscanf(ptrUtent, "%u;%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];", &f.IdUtenti, f.Nome, f.Cognome, f.Username, f.Password, f.Email, f.Cellulare);
	        printf("%u %s %s\n",f.IdUtenti,f.Nome,f.Username);
	        fwrite(&f, sizeof(struct Admin), 1, destinazione);

	        while(fgets(line, 1024, ptrUtent)) {
	        	printf("1");
	        fscanf(ptrUtent, "%u;%[^;];%[^;];%[^;];%[^;];%[^;];%[^;];", &f.IdUtenti, f.Nome, f.Cognome, f.Username, f.Password, f.Email, f.Cellulare);
	        printf("%u %s %s\n",f.IdUtenti,f.Nome,f.Username);
	        fwrite(&f, sizeof(struct Admin), 1, destinazione);

	        }


	    fclose(ptrUtent);
	    fclose(destinazione);

	    /*destinazione = fopen("Utenti.txt","rb");
	    printf("\nlettura\n");
	    while(!feof(destinazione)){
	    	printf("1");
	    	if(fread(&f,sizeof(struct Admin),1,destinazione)){
	    	printf("%u %s %s\n",f.IdUtenti,f.Nome,f.Username);}
	    }
	    fclose(destinazione);*/

	return 0;
}
questo è il codice che utilizzo. Grazie in anticipo

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte