Programma di scrittura su file

di il
12 risposte

Programma di scrittura su file

#include<stdio.h>

main() 
{
       int ris1, ris2;
       FILE *fp;
       if((fp= fopen("risultati.dat","w"))!=NULL)
       ris1=500;
       ris2=600;
       fprintf(fp,"%d %d\n", ris1, ris2);
       fclose(fp);
       getchar();
       
       }

Come mai non mi scrive su file i due ris?

12 Risposte

  • Re: Programma di scrittura su file

    Se quella if è vera cosa succede ? Tu conosci le basi del linguaggio C, vero ?

    In ogni caso, anche se quella if non ha molto senso, il codice crea comunque il file, fidati.
    Forse non lo cerchi nel posto giusto.
  • Re: Programma di scrittura su file

    Il file non esiste?
  • Re: Programma di scrittura su file

    daniele90 ha scritto:


    il file non esiste?
    Quella if serve a controllare se il file è stato creato dalle istruzioni interne, ma se non è stato creato quali righe esegui?

    In ogni caso, anche se la if non è completa, il codice funziona e il file viene creato correttamente, come ti dicevo.
  • Re: Programma di scrittura su file

    Ma quindi cos'è che non va nel programma che ho scritto?
  • Re: Programma di scrittura su file

    Prima di tutto, l'hai trovato il file? Deve essere stato creato comunque.
  • Re: Programma di scrittura su file

    #include<stdlib.h>
    #include<stdio.h>
    
    int main() {
      FILE *fd;
      int x=-32;
    
    		/* apre il file in scrittura */
      fd=fopen("scrivi.txt", "w");
      if( fd==NULL ) {
        perror("Errore in apertura del file");
        exit(1);
    		/* scrive il numero */
      fprintf(fd, "%d\n", x);
    
    
    		/* chiude il file */
      fclose(fd);
    
      return 0;
    }
      }

    Credo di aver risolto dopo ore di lavoro, quando compilo il programma quello che succede è l'esecuzione che si apre per qualche istante e poi si richiude. Non riesco a capire se ciò che ho fatto è giusto e dove viene salvato questo file. Sapresti darmi delucidazioni a proposito per favore?
  • Re: Programma di scrittura su file

    dopo ore di lavoro
    Addirittura ...
    quando compilo il programma quello che succede è l'esecuzione che si apre per qualche istante e poi si richiude.
    Quando esegui (non quando compili) si apre la console e al termine del programma (che è praticamente istantaneo) viene chiusa. Già altre volte ti era stato consigliato di usare un getchar (o più getchar) alla fine del programma.
    Non riesco a capire se ciò che ho fatto è giusto e dove viene salvato questo file.
    Ti ripeto ... a parte la if (che sembra tu abbia capito adesso come correggere) comunque il file viene creato. Controlla nelle cartelle del progetto.
  • Re: Programma di scrittura su file

    Ma quindi mi confermi che il programma è funzionante?
  • Re: Programma di scrittura su file

    Se te lo vuoi ritrovare sul desktop ( oppure dove preferisci tu) può provare a fare qualcosa del genere:

    fopen("C:\\Users\\user\\Desktop\scrivi.txt", "w");
  • Re: Programma di scrittura su file

    Ma lo leggi quello che scrivo?

    A parte la if che così non ha molto senso, comunque il programma apre il file e ci scrive dentro.
  • Re: Programma di scrittura su file

    Ho verificato il funzionamento
  • Re: Programma di scrittura su file

    Quindi hai trovato il file?

    Adesso correggi la if ...
Devi accedere o registrarti per scrivere nel forum
12 risposte