Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [C] Aggiunta di informazioni in coda ad un file

    Ciao a tutti

    Ho un file di testo e devo aggiungere delle informazioni alla fine di questo.
    Esiste un modo per andare a scrivere in coda ad un file in modo da aggiornarne il contenuto?
    Possibilmente senza andare ad aprire un file in lettura leggere il contenuto di questo e andarlo a scrivere nell'altro?

    Grazie per l'aiuto.

  2. #2
    se il file si chiama testo.txt, e ciò che devi aggiungere si trova dentro una stringa (per esempio letta da tastiera), ti basta fare:

    codice:
    printf ("Contenuto da aggiungere: "); scanf("%s", str);
    FILE *add;
    add=fopen("testo.txt", "a");
    fprintf (add, "%s", str);
    fclose(add);

  3. #3
    Più o meno ho fatto così, ma non funziona
    Il programma gira e il compilatore non indica errori.
    Quando apro il file con il blocco note, lo trovo esattamente come prima

    codice:
    FILE *fp;
    char nome_file[100];
    char stringa[10];
    ...
    fp=fopen(nome_file, "a");
    if(fp==NULL)
    {
       fprintf(stderr, "Errore nell'apertura del file in aggiunta.\n");
       exit(EXIT_FAILURE);
    }
    ...
    while(num<=5)
    {
       fgets(stringa, 10, stdin);
       fprintf(fp, "%s", stringa);
    }
    fclose(fp);
    ...

  4. #4
    Il codice che hai postato è corretto, forse il problema è altrove.
    Per esempio, 'nome_file' è assegnata correttamente?
    Il file esiste, il percorso è corretto ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    nome_file dovrebbe essere assegnata correttamente perchè in un altro punto del programma il file viene aperto in lettura e lavora correttamente(a seconda della scelta che l'utente fa all'inizio).

    Il file esiste e il percorso dovrebbe essere giusto per il motivo che ho scritto sopra.


  6. #6

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da spiderontheweb
    Problema risolto.
    Potrebbe essere interessante per chi ha un problema simile al tuo, oltreche' corretto per chi ti ha seguito fino ad ora, dire "come" hai risolto ...

  8. #8
    Giusto.

    Il problema non era legato al programma.

    Quando si crea un nuovo progetto il Visual C++ crea più cartelle e dato che lo uso da poco ho messo il file in questione nella cartella precedente a quella in cui andava inserito.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ovvero non lo avevi nella cartella Debug o Release ... ok ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.