Malloc размер файлового буфера на основе существующего файла

В моем проекте мне нужно скопировать общий файл в каталог с именем share. Моя идея состоит в том, чтобы скопировать содержимое этого файла, используя fgets и fputs :

FILE *fp;
int size;
char *fileBuff

fseek(fp,0,SEEK_END );
size=ftell(fp);
printf("Size of %s: %d bytes.\n",path,size); // print correct size 
fileBuff=malloc(size); // mallocate the file buffer
printf("\nsize of file buffer is %d",sizeof(fileBuff)); //always print 4!!
while(!feof(fp)){
    fgets(fileBuff,size,fp); // put into file buffer

}
printf("\nsize of file buffer is %d",sizeof(fileBuff)); // also print 4!!

. Однако файловый буфер нельзя выделить, размер этого файлового буфера всегда равен 4. что происходит?

обновление:кажется, есть какое-то недоразумение. sizeof()если только для меня, чтобы проверить, есть ли что-нибудь, хранящееся в файловом буфере. Я пробовал strlen(fileBuff), и он всегда дает мне 1.

0
задан Jonathan Wakely 17 June 2012 в 21:45
поделиться