В моем проекте мне нужно скопировать общий файл в каталог, который называется 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.
fstat
, чтобы найти размер файла, чем искать до конца и т. Д. - person Ed Heal   schedule 13.04.2012