Ciao scusa se ti faccio una domanda ma ho più o meno lo stesso prob.
Allora dovrei caricare/scrivere una struttura dati da/su file stream con formato di tipo stringa.
Tale formato è stato scelto perchè devo poter visualizzare i dati scritti ed inoltre non ho mai usato fwrite e fread (ma a questo ovviavo tranquillamente
).
Avevo pensato di farlo in questo modo:
codice:
struct info{
char club[MAXCHAR];
int np;
int quote;
};
typedef struct info TInfo;
struct elenco{
int dim_fis;
int dim_log;
TInfo *v;
};
typedef struct elenco TElenco;
int main(){
TElenco *ele;
etc. }
void Salvataggio(TInfo *v, int dim) {
int i;
FILE *f;
char str[MAXCHAR]="Elenco.txt"; //Presuppongo il file nella stessa cartella.
f=fopen(str, "w");
for(i=0; i<dim; i++){
fprintf(f, "%s \t", v[i].club);
fprintf(f, "%d \t", v[i].np);
fprintf(f, "%d \n", v[i].quote);
}
fclose(f);
}
int Caricamento(TElenco *ele){
// dim_log è a 0;
FILE *f;
char str[MAXCHAR]="Elenco.txt";
f=fopen(str, "r");
if(f==NULL)
return -1;
while((fscanf(f, "%s", ele->v[ele->dim_log].club) && fscanf(f, "%s", ele->v[ele->dim_log].np) && fscanf(f, "%s", ele->v[ele->dim_log].quote))!= EOF)
ele->dim_log++;
fclose(f);
return 1;
}
Vorrei sapere se si può fare non avendo modo di compilarlo ancora in particolare l'uso della 'fscanf'.
Grazie anticipatamente per la risposta.