dataチャンクの音声データに何サンプル含まれるか。このようにRIFFを利用すれば別の意味合いのデータをまとめて保存することが出来ます。BWFという拡張規格ではコメント文字列なども追加することが出来ます。これの拡張規格であるBWF-Jではコメント文字列、キューポイント、プレイリスト、添付ファイル等の記録が可能です。(追記)実際にファイルを扱う方法はどこかよそで探してもらうとして、そのコツを少し。WindowsのAPIにmmioReadなどのmmio系の関数があります。これでwavファイルの読み書きができるのですが、それほど便利ではない上にイレギュラーなwavファイルに対してどういう挙動をとるか不明なのであまりオススメではありません。CreateFileなどの一般ファイルIOを使用してもほとんど同じ手間で出来ますし、細かい操作も出来ます。先頭4バイトと9バイト目から4バイトを読んでwavファイルであることを確認。"RIFF"は1179011410、"WAVE"は1163280727という具合に4バイト整数で定義してやると楽です。あとは各チャンク名称とサイズを読んで、適当な構造体に格納していきます。fmtチャンクはWAVEFORMAT構造体に読みます。fmtチャンクが先頭とは限らないので、チャンク名称を読んでからどの処理を行うか分岐したほうがよいです。読んだらチャンクサイズ分ファイルポインタを進めます。チャンク実データは必ず偶数バイトで書くというきまりがあるようなので要注意です。チャンクサイズに5と記録されていてもデータは6バイト格納されているはずです。最後の余った1バイトは無効データです。チャンクサイズに6と記録されていればデータも6バイト格納されています。チャンクサイズに奇数の値が書き込まれている場合は1バイト余分にファイルポインタを進めるということです。標準的なwavでは8bitモノラル以外では奇数バイトチャンクは発生しないので大抵の場合はチャンクサイズ値とチャンクデータ実バイト数は一致するはずです。書くときも同様に奇数サイズのチャンクには実データにヌルを1バイト付加して書かないといけないのですが、面倒がないようにはじめから奇数バイトチャンクを作らないのが一番無難かと思います。チャンクサイズは符号ナシ32bit整数のはずなので上限は4GBなのですが、2GB以上を扱えないソフトが多いです。書くときも2GB以内にしておくほうが無難でしょう。dataチャンクを読むときも構造体に読むと便利です。Rchとしてこの構造体の配列Stereo16Data[100]というようなのを作ってそこに読むと1サンプル単位で処理するのが楽です。