Yeah you are right. The value of block * 102400 will be huge.
[ Please ALWAYS post code inside code-blocks]
So, you can use this :
fseek(pFile, 0, SEEK_SET);
for(int block = 0; block < MAX_BLOCKS; ++block)
fwrite(buff, 1, 102400, file);
I think the write cursor will automatically move till the end of the written block.
So your pointer is auto-adjusted.