user389419
user389419

Reputation: 263

What is a "byte" in C / C++

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?

Upvotes: 19

Views: 1599

Answers (2)

Stephen Canon
Stephen Canon

Reputation: 106197

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.

Upvotes: 27

Jonathan Grynspan
Jonathan Grynspan

Reputation: 43472

CHAR_BIT. The bit width of a byte is implementation-defined and is available to the developer via the CHAR_BIT macro.

Upvotes: 17

Related Questions