PDA

View Full Version : [C] mi aiutate a capire xchè non scrive nel file?


deviato
31-03-2008, 16:18
secondo voi perchè non mi scrive nel file?

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
{ fprintf("ambulanze.dat","%s\n",ambulanza);
fclose(pass);
}
}
}

Isildur84
31-03-2008, 16:42
La funzione fprintf riceve come primo parametro un FILE * e non un char *.

a parte che non vedo la dichiarazione delle variabili la sintassi corretta è la seguente:

fprintf(pass, ...);

..::DAVE::..
31-03-2008, 19:43
secondo voi perchè non mi scrive nel file?

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("%c",&selezione);

if (selezione == 's')
{
pass=fopen("ambulanze.dat","a");
if (pass==NULL) printf("impossibile aprire il file o file non presente\n\n");
else
{ fprintf("ambulanze.dat","%s\n",ambulanza);
fclose(pass);
}
}
}

poi per un .dat serve la fwrite non la fprintf

deviato
31-03-2008, 23:15
ho messo pass però continua a non scrivere niente.. com'è la sintassi dell'fwrite? e poi per rileggerlo? uso fscanf? o c'è qualche altra istruzione?
grazie

Isildur84
01-04-2008, 09:48
scanf("%s",&ambulanza);

printf("Confermi: %s? S/N",&ambulanza);

Queste due righe contengono un errore. Poiché ambulanza è definito come un vettore di char (almeno spero) la sintassi corretta è:

scanf("%s", ambulanza);
printf("Confermi: %s?", ambulanza);