Warum schreibt fwrite mehr, als ich es sage?

FILE *out=fopen64("text.txt","w+");
unsigned int write;
char *outbuf=new char[write];
//fill outbuf
printf("%i\n",ftello64(out));
fwrite(outbuf,sizeof(char),write,out);
printf("%i\n",write);
printf("%i\n",ftello64(out));

Ausgabe:

0
25755
25868

Was ist los? write ist auf 25755 gesetzt, und ich fordere fwrite auf, so viele Bytes in eine Datei zu schreiben, die sich am Anfang befindet, und im dann an einer anderen Position als 25755?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage