Salve a tutti. Ho scritto un programma in C che mi scrive 7 interi (sul mio sistema occupano 4 byte l'uno, ottenuto con sizeof(int)), il problema è che il file pesa + di 100byte.. i primi 7 sono quelli che volevo gli altri sembrano essere stati messi "a caso".. E' un errore mio oppure il C scrive + byte? Ho provato con un hex editor a cancellare tutti i byte dal file binario tenendo i primi 7 e non mi da problemi in lettura... quindi quei byte sono assolutamente inutili.. non segnano la fine del file vero? 100byte mi sembrano eccessivi..

Sapreste spiegarmi la ragione di questi byte? A me sembra insolito.


Grazie a tutti, vi allego il programma scritto in c per scrivere/leggere.

Codice PHP:
/*
 *  file.c
 *  
 *
 *  Created by Tommaso Ricci on 07/05/11.
 *  Copyright 2011 __MyCompanyName__. All rights reserved.
 *
 */

#include <stdio.h>

void read(int number){
    
    
FILE fp fopen("prova.dat""rb");
    
int n[number], i;
    
    
fread(nsizeof(n[0]), numberfp);
    
fclose(fp);
    
    for (
i=0i<numberi++) {
        
printf("%d "n[i]);
    }
    
printf("\n");
    
    return;
}

void write(int numint sizeint elements){
    
    
FILE fp fopen("prova.dat""wb");
    
    
fwrite(numsizeelementsfp);
    
fclose(fp);
    
    return;
}

int main(int argcchar argv[]){
    
    
int n 7mio[n] = {7,6,5,4,3,2,1};
    
        
//printf("%d\n", sizeof(int));
        //read(n);
    
write(miosizeof(int), 7);
    
    return 
0;