For example, here's a reference for fread:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Reads an array of count elements, each one with a size of "size bytes"...
So how many BITS will read an fread(&x, 1, 1, stream)
? Eight or CHAR_BIT
?
C99, §3.6:
byte
addressable unit of data storage large enough to hold any member of the basic character set of the execution environment
and §5.2.4.2.1:
CHAR_BIT — number of bits for smallest object that is not a bit-field (byte)
Thus, a "byte" contains CHAR_BIT
bits.
CHAR_BIT
. The bit width of a byte is implementation-defined and is available to the developer via the CHAR_BIT
macro.