Salve, ho un file di testo chiamato files.txt contenente alcuni nomi di file e alcuni valori di parametri:
filebias file0.txt
fileSV file1.txt
nband 25
nclassi 5
inoltre ho definito:
struct nomeParam {
int nclassi;
int nband;
};
struct nomeFiles {
char file0[100];
char file1[100];
};
void leggiFile(char* nomefile, struct nomeFiles* files, struct nomeParam* param) {
FILE* file;
file = fopen(nomefile, "r");
int scan = 0;
char s[100];
while (scan != EOF) {
scan = fscanf(file, "%s", &s);
if (strcmp(s, "filebias") == 0) {
fscanf(file, "%s", &files->file0);
}
else if (strcmp(s, "fileSV") == 0) {
fscanf(file, "%s", &files->file1);
}
else if (strcmp(s, "nband") == 0) {
fscanf(file, "%d", ¶m->nband);
}
else if (strcmp(s, "nclassi") == 0) {
fscanf(file, "%d", ¶m->nclassi);
}
fclose(file);
}
void stampa_valorisufile(const char* nomefile, const struct nomeParam* param) {
FILE* file;
file = fopen(nomefile, "w");
if (file == NULL) {
printf("Errore nell'apertura del file %s per la scrittura.\n", nomefile);
return;
}
fprintf(file, "nclassi %d\n", param->nclassi);
fprintf(file, "nband %d\n", param->nband);
fclose(file);
}
int main()
{
char filename_files[] = "files.txt";int main()
char filename_ris[] = "ris.txt"; struct nomeFiles files;
struct nomeParam param;
leggiFile(filename_files, &files, ¶m); stampa_valorisufile(filename_ris, ¶m);
}
vorrei ottenere un file di nome ris.txt contenente i valori dei parametri. Sapreste dirmi per favore dov è che sbaglio?