PDA

View Full Version : [C] Scrittura su file, cosa c'è che non va?


D4rkAng3l
23-02-2005, 09:27
mmm mi sono impallato di uovo..non capisco perchè questo programma non mi funzioni...ieri mi funzionava...forse ci ho rimesso le mani ma non riesco a capire che ho combinato....

/* Creare un file sequenziale */

#include <stdio.h>

int main(){

int account;
int name[30];
float balance;
FILE *cfPtr; // Puntatore al file clients.dat

if((cfPtr = fopen("clients.dat", "w")) == NULL)
printf("Il file non puo' essere aperto\n");
else{
printf("Inserire l'account, il nome e il bilancio\n");
printf("? ");
scanf("%d%s%f", &account, name, &balance);

while(!feof(stdin)){
fprintf(cfPtr, "%d %s %.2f\n", account, name, balance);
printf("? ");
scanf("%d%s%f", &account, name, &balance);
}

fclose(cfPtr);

system("PAUSE");
}
return 0;
}


Grazie
Andrea

P.S: il systempause lo si usa con il compilatore dev c++

Fenomeno85
23-02-2005, 10:00
hem quel while non va molto bene almeno sta sempre dentro al ciclo ;)

Fai una richiesta di nuovo inserimento e se si decide di si continui altrimenti esci.

~§~ Sempre E Solo Lei ~§~

D4rkAng3l
23-02-2005, 10:03
scusa che ha che non va bene?
while(!feof(stdin)){

non dovrebbe voler dire che finchè non si inserisce il carattere terminatore dello standard input continua a leggere?sul manuale è così

Fenomeno85
23-02-2005, 10:04
e qual'è??

~§~ Sempre E Solo Lei ~§~

D4rkAng3l
23-02-2005, 10:13
daitel...cmq ieri mi girava e scriveva correttamente...mi sà che c'ho rimesso le mani...ho pure prestato il daitel stamattina e non posso ricontrollare...rosicoooo

Ubi-Wan
23-02-2005, 10:30
scusa ma non vedo alcun problema nel tuo programma.....l'ho pure compilato e funziona bene (unica cosa inutile usare int name[30] per la stringa, usa char...).

il while va bene cosi' come sta, per terminare l'inserimento di dati basta fare CTRL+C

Fenomeno85
23-02-2005, 10:37
a me non salva tutto

~§~ Sempre E Solo Lei ~§~

Ubi-Wan
23-02-2005, 10:41
che significa che non ti salva tutto?

io ho provato inserendo 2-3 record completi e poi ho fatto CTRL-C, nel file c'erano sempre quei 2-3 record che avevo messo

Fenomeno85
23-02-2005, 10:42
me ne ha inserito solo uno :wtf:

~§~ Sempre E Solo Lei ~§~

Ubi-Wan
23-02-2005, 10:49
non ho idea di quale possa essere il problema :confused: :confused: :confused:

ho appena fatto la prova inserendo 5 record e me li ha salvati tutti e 5 :confused:

D4rkAng3l
23-02-2005, 10:53
ragzzi sono un rincoglionito...il programma funziona...stamattina non mi ricordavo l'ordine di inserimento dei dati ed inserivo prima il nome dell'acount numerico e quindi il programma impazziva.... :D :cry: :muro: :mc: