From this page: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
16-bit samples are stored as 2's-complement signed integers, ranging from -32768 to 32767.
In this case you want to use a 16-bit data type, which in C++/C is a short
short data;
fread(&data, sizeof(short), 1, audio);
This will read 2 bytes for you, and store them in the short. You will want to do that in a loop