Lettura file e stampa contenuto

di il
2 risposte

Lettura file e stampa contenuto

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", &param->nband);
    }
    else if (strcmp(s, "nclassi") == 0) {
     fscanf(file, "%d", &param->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, &param);                                                                                                                                                                                          stampa_valorisufile(filename_ris, &param);

     }

vorrei ottenere un file di nome ris.txt contenente i valori dei parametri. Sapreste dirmi per favore dov è che sbaglio?

2 Risposte

  • Re: Lettura file e stampa contenuto

    A parte qualche errore di sintassi, durante la lettura del file LeggiFile sicuro di chiudere il file al momento giusto?

    controllerei il bilanciamento della parentesi graffe.

    come mai nel main dichiari “int main()” al suo interno?

  • Re: Lettura file e stampa contenuto

    Si in effetti avevo dimaneticato il return 0. Tuttavia avevo scritto male un nome del file all'interno della cartella e adesso il codice funziona. Grazie molte!

Devi accedere o registrarti per scrivere nel forum
2 risposte