PDA

View Full Version : [c] aiuto in gestione dei file


deviato
01-04-2008, 11:50
dunque.. ho un problema: la funzione qua elencata dovrebbe scrivere dei valori in un file e poi scriverli a video sotto forma di elenco. per quanto riguarda la scrittura penso che funzioni bene visto che aprendo il file con un editor di testi compaiono i valori che ho inserito.. il mio problema è la lettura in quanto legge solo il primo elemento. qualcuno può aiutarmi? magari anche modificando direttamente il mio listato.. ho provato ad usare fscanf ed fprintf anzichè fwrite e fread ed effettivamente li leggeva tutti l'unico problema è che quando andava a scriverli a schermo mi comparivano tutti nel medesimo punto sovrascrivendo quello che era già scritto..
ecco il listato:

[HTML]
FILE *pass;

void database()
{ char selezione,ambulanza[20];

do
{
system("cls");

pass=fopen("ambulanze.dat","r");

if (pass==NULL) printf("Impossibile aprire il file\n\n");
else
{ do
{
fread(ambulanza,20,1,pass);
printf("%s\n",ambulanza);
}while(!feof(pass));
}
fclose(pass);


printf("\nAggiungere nuove ambulanze? S/N");
scanf("%c",&selezione);

if (selezione=='s')
{

printf("Inserisci l'associazione di appartenenza: ");
scanf("%s",ambulanza);
printf("Confermi: %s? S/N",&ambulanza);
scanf("%s",&selezione);

if (selezione == 's')
{
pass=fopen("ambulanze.dat","a");
if (pass==NULL) printf("impossibile aprire il file o file non presente\n\n");
else
{ fwrite(ambulanza,20,1,pass);
fclose(pass);
}
}
}
}while (selezione != 'n');
system("pause");
menu();
}[\HTML]

wingman87
01-04-2008, 13:03
Usa il tag CODE, non HTML