С помощью следующего кода я могу прочитать волновой файл в массив с плавающей точкой.Однако отрицательная сторона волны заканчивается положительной стороной, поэтому: -MAX -> 0 и "-0" -> MAX.Я не могу понять, как это сделать правильно.Я понимаю, что длина заголовка волны может превышать 44 байта, но для этого приложения этого не произойдет.Я надеюсь, что один из вас, прекрасные люди, может помочь мне: -)
string filename;
getline(cin, filename);
ifstream wavFile(filename, ios::binary | ios::ate);
if (!wavFile)
cout << "error reading file\n";
int size = wavFile.tellg();
wavArray = new unsigned char[size];
wavFile.seekg(0, ios::beg);
wavFile.read((char *)wavArray, size);
wavFile.close();
int j = 1;
for (int i = 0; i < 262; i++)
{
unsigned int tmp = (wavArray[i + 44] | (wavArray[i + 45] << 8));
printf("%d : %f \n", k, (tmp / 32768.0));
j++;
i++;
}