私が使うとき
fstat(fileno(file), &st); //struct stat st
buf = malloc(fsize); //size_t fsize
fread(buf, 1, fsize, file);
malloc
のようにfsize * sizeof(size_t)
大きなスペースを割り当てる必要があるため、私は本当に疑問に思っていますが、のようにアクセスしようとするbuf + 8*fsize
と、範囲外になります。
ただし、buf+fsize
は正しい場所、ファイルの終わりにあり、アドレスを計算したところです。malloc のように、私にはfsize * sizeof(char)
大きなスペースが返されます。
だから、どこが間違っているのか、どんな助けも感謝しています。