Libsndsfile is plain C, but will do what you want
without any fuss.
You could write a WAV specific C++ wrapper on top of this in a few minutes.
libsndfile is superb, but sometimes you don't want to link against
external libraries in your code. I have some structs/classes which I use
if in-memory-handling of wav files is sufficient. You can have a look at
them at:
http://cubic.org/~doj/ebay/wav.tar.gz
If you have to handle large files you should go the libsndfile way.
--
---> Dirk Jagdmann ^ doj / cubic
---->
http://cubic.org/~doj
----->
http://llg.cubic.org