Ciao raga, stavo provando a fare un semplicissimo esercizio sui file
volevo provare a inserire sctringhe con spazi e ho provato con la gets ma non mi funziona
potete aiutarmi?
#include <stdio.h>
#include <stdlib.h>
struct struttura{
char nickname[20];
int goal;
}dip;
FILE *fp;
void nuovo(){
fp=fopen("dati.txt","w");
printf("\nFILE CREATO CON SUCCESSO\n");
fclose(fp);
}
void scrivi(){
fp=fopen("dati.txt","a");
printf("\nINSERISCI NICKNAME: ");
//scanf("%s",&dip.nickname);
gets(dip.nickname); //E QUI IL PROBLEMA
system("PAUSE");
printf("\nINSERISCI NUMERO GOAL: ");
scanf("%d",&dip.goal);
fwrite(&dip,sizeof(dip),1,fp);
fclose(fp);
}
void leggi(){
fp=fopen("dati.txt","r");
fread(&dip,sizeof(dip),1,fp);
while(!feof(fp)){
printf("%d\t%s\n",dip.goal,dip.nickname);
fread(&dip,sizeof(dip),1,fp);
}
fclose(fp);
}
main(){
int scelta;
do{
system("CLS");
printf("0 CHIUDI\n1 NUOVO\n2 SCRIVI\n3 LEGGI\nCOSA VUOI FARE?: ");
scanf("%d",&scelta);
switch(scelta){
case 1:
nuovo();
break;
case 2:
scrivi();
break;
case 3:
leggi();
break;
}
system("PAUSE");
}while(scelta!=0);
return 0;
}