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

    [c] scrivere indirettamente in un file

    Buongiorno a tutti!
    Io ho un problema:
    Devo creare un eseguibile (in C) che dando dei dati li scriva in un file.doc,
    e fino ha qua ci sono ma il problema è che mi cancella tutto cio che è scritto prima!
    Come faccio?
    scusate la mia ignoranza sarà sicuramente un problema stupido ma io sono alle prime armi con C!
    Cmq vi allego il sorgente C:

    #include <stdio.h>
    #include <string.h>

    main()
    {
    char buf[100]; /* buffer */
    FILE *fp; /* file pointer */
    int len;

    printf("Inserisci testo : ");
    scanf("%s",buf);
    len = strlen(buf);
    fp = fopen("pi.doc", "w"); /* crea il file*/

    /* Memorizza il testo nel file */
    fwrite(buf,1, len, fp); sicuramente è qua dove devo intervenire ma non so in che modo!!
    fclose(fp); /* chiude il file */

    }

    Grazie Mille!

  2. #2
    qualcuno mi risponda non so proprio che fare!

  3. #3
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459
    Se apri il file in modalità "w" questo viene cancellato. Se divi aggiungere testo in fondo usa la modalità "a"
    Linux user number 403381

    Stop TCPA!

  4. #4
    ok! pensa mi è passato sotto gli occhi mille volte ma non ci avevo fatto caso!
    Che stupido!

  5. #5
    prova cos&igrave;
    ciao
    sergio

    #include <stdio.h>
    #include <string.h>

    main()
    {
    char buf[100]; /* buffer */
    FILE *fp; /* file pointer */
    int len;

    printf("Inserisci testo : ");
    scanf("%s",buf);
    len = strlen(buf);
    fp = fopen("pi.doc", "a"); /* crea/appende al file*/

    /* Memorizza il testo nel file */
    fwrite(buf,1, len, fp);// sicuramente è qua dove devo intervenire ma non so in che modo!!
    fclose(fp); /* chiude il file */

    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    178
    fwrite(buf,1, len, fp);// sicuramente è qua dove devo intervenire ma non so in che modo!!
    credo vada bene anche
    codice:
    fprintf (fp, "%s", buf);
    in questo modo mette tutto buffer nel file...

    hasta!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.