In meinem Projekt muss ich die freigegebene Datei in ein Verzeichnis kopieren, das Freigabe anruft. Meine Idee ist, das enthält dieser Datei Verwendung fgets und fputs zu kopieren:Malloc die Größe der Dateipufferbasis auf einer vorhandenen Datei
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!!
jedoch die Dateipuffer die Größe von Dateipuffer nicht mallocated werden kann, ist immer 4. was passiert?
Update: scheint es einige Missverständnisse zu haben. Die Größe von(), wenn ich nur überprüfen soll, ob etwas im Dateipuffer gespeichert ist. Ich versuche Strlen (fileBuff), und es gibt mir immer 1.
Besser, 'fstat' zu verwenden, um die Größe der Datei eher zu finden, die zum Ende etc. sucht. –