WAVEFORMATEX - как читать кодекданные в конце? - PullRequest
0 голосов
/ 01 июня 2010

У меня есть структура WAVEFORMATEX с некоторыми кодовыми данными в конце (10 байт).

Я использую C ++.

Как мне получить доступ к данным в конце? (это чисто технический вопрос).

Я пытался:

WAVEFORMATEX* wav = (WAVEFORMATEX*)pmt->pbFormat;
    WORD me = wav->cbSize;
    wav = wav + sizeof(WAVEFORMATEX);
    BYTE* arr = new BYTE[me];
    memcpy(arr, (BYTE*)wav, me);

Не работает.

Спасибо

Roey

1 Ответ

2 голосов
/ 01 июня 2010

Вы сделали небольшую ошибку в арифметике указателей. После

wav = wav + sizeof(WAVEFORMATEX);

wav указывает далеко за пределы буфера (потому что wav - это не CHAR *, а WAVEFORMATEX *). Вам необходимо написать:

wav = wav + 1;
...