Vorrei poter copiare un file di qualsiasi natura:

Codice PHP:
#include <stdlib.h>
#include <stdio.h>

int main(int argcchar** argv){
    
FILE *fs;
    
FILE *fs2;
    
int i=0;
    
char *buffer;

    
buffer malloc(sizeof(char));

    
fs fopen(argv[0],"rb");

    if(
fs == NULL){
        
printf("error open %s\n",argv[0]);
        return -
1;
    }

    
fs2 fopen(argv[1],"wb");

    if(
fs2 == NULL){
        
printf("error open %s\n",argv[1]);
        return -
1;
    }

    while(
fread(&buffer[i],sizeof(char),1,fs) == 1){
        
i++;
        
buffer realloc(buffer, (i+1) * sizeof(char));
    }
    
    
buffer[i] = EOF;

    
i=0;

    while(
buffer[i] != EOF){        
        
fwrite(&buffer[i],sizeof(char),1,fs2);
        
i++;
    }
    
    
fclose(fs);
    
fclose(fs2);

    return 
0;

Questa bozza di codice funziona se opero su un file di testo ma se voglio copiarmi un'immagine o un video non va! cosa sto sbagliando?

grazie