Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C] Scrittura su file

  1. #1

    [C] Scrittura su file

    Ho un problema nello scrivere in un file.....

    insomma, ho il mio bel main che richiama una funzione, crea_fs, senza parametri, e questa funzione deve scrivermi un totale di "blocchi" in un file.

    void crea_fs(){


    FILE *f= fopen (fname,"wb");
    int s;
    s=33;

    fwrite (&s,sizeof(int),1,f);
    fclose(f);

    }

    praticamente così scriverei un intero(33), nel file, ma in realtà non lo fa.....

    2a domanda
    in pratica dovrei fare la stessa cosa ripetutamente con un'altra variabile "blocco" del tipo:


    void *blocco;
    blocco = malloc(blocksize);
    memset(blocco,0,blocksize);


    dove blocksize è una mia variabile predefinita...

    si può fare? xkè non riesco fare proprio niente.....e il prob è che non so dove sbaglio....

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    il primo argomento della fwrite deve essere il puntatore alla zona di memoria che contiene i byte da scrivere nel file. Se te gli passi &s, s è uun intero che in c è rapprsentato da 4 byte:

    xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx

    e facendo scrivere

    fwrite (&s,sizeof(int),1,f);

    gli fai scrivere quei 4 byte che non son interpretati come interi.

    Dovresti convertire iltuo intero inun array di caratteri, se l'intero è fisso usa:

    char *s = "33";

    altrimenti utilizza la funzione itoa(n) per convertire l'interno n in una stringa "n".

    Per fare la secnda cosa dovresti passare alla fwrite il puntatore blocco

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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.