Я пытаюсь написать простую программу для чтения WAV-файла на C ++ и получения таких данных, как частота дискретизации и битовая глубина. В какой-то момент я хочу использовать это для манипулирования данными для создания аудио плагина, но сначала я хочу понять это.
#include <iostream>
#include <string>
#include <fstream>
#include <ostream>
using namespace std;
struct wavfile {
char id[4];
int totallength;
char wavefmt[8];
int format;
short pcm;
short channels;
int frequency;
int bytes_per_second;
short bytes_by_capture;
short bits_per_sample;
char data[4];
int bytes_in_data;
};
int main () {
FILE * wfile;
std::ofstream ofs;
wfile = ofs.open("tes.wav",std::ofstream::binary | std::ofstream::app); // line 31
ofs.close();
return 0;
}
Когда я пытаюсь запустить его, он продолжает говорить "присваивание 'FILE *' (он же '__sFILE *') из несовместимого типа 'void'"
Как мне заставить его открывать волновой файл, читать данные, чтобы я мог определить его как внутри struct wavfile и распечатать его обратно?
Любая помощь будет принята с благодарностью, даже если я просто укажу в правильном направлении или на хороший ресурс. Заранее спасибо!