If you want to read it byte by byte, then change the 7 to a 1:
u16BytesRead = fread(&u8Buffer, 1, 1, fp);
If you mean "what does fread return?" then look at the documentation:
fread - C++ Reference[
^] which clearly says:
Quote:
Return Value
The total number of elements successfully read is returned.
If this number differs from the count parameter, either a reading error occurred or the end-of-file was reached while reading. In both cases, the proper indicator is set, which can be checked with ferror and feof, respectively.
If either size or count is zero, the function returns zero and both the stream state and the content pointed by ptr remain unchanged.
size_t is an unsigned integral type.
But just calling fread in a loop won't help you - you will just overwrite the data you read lats time each time you call it.
Perhaps if you explain what you are trying to do in better detail, we may be able to help you more, but at the moment that is all we can do.