在我的项目中,我需要将共享文件复制到一个名为 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。