![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
У меня вопрос вот по такому делу.
Пишу программу по работе с wav-файлом(не суть важно) в общем есть в нем такая функция DWORD get_wav_header(FILE *fp, WAVE_HEADER *wav_hdr), которая принимает указатель на сам файл и на его структуру(функция не моя, диктовали на лекциях). Сама функция делает проверку на корректность wav-файла(заголовка) и возращает код ошибки Структура самого файла что то в роде typedef struct { DWORD riffsize; BYTE riff[4]; BYTE wavefmt[8]; DWORD fmtsize; WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAligh; WORD wBitsPerSample; BYTE data[4]; DWORD datasize; }WAVE_HEADER; Так у меня не получается передать в эту функцию саму структуру из wav-файла, вот в этом и заключается проблема, будь то даже работа с bmp, не могу передать структуру в функцию для какой-либо проверки. I NEED HELP/ |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
NwinIX, для начало надобы писать код ошибочки...
или хотябы сказать, какого типа ошибка компиляци, сборки или выполнения или ошибок нету, но не работает... а во вторых в этом случаи нужно поставить выравнивание равное 1 байту... -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
NwinIX |
|
||||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
|
||||
|
|||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
ошибка какая,
не получаеться передать - компилятор ругаеться, или уже ваша программа при выполнении??? -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
Короче набрана программа(по лекции) В строке с функцией RedCode=get_wav_header(fin,&wav_hdr); /&wav_hdr----- undeclared identifier . Не знаю что делать. Может еще есть какие способы по проверке корректности wav-заголовка....
Это сообщение отредактировал(а) NwinIX - 20.8.2005, 01:19 |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
ошибка в строке 107
wav_hdr и так указатель так что & не нужен -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
error C2065: 'wav_hdr' : undeclared identifier
|
|||
|
||||
Step |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
тю блин, а я думал у меня глюки, или слепну, а оно в натури нету, думал может в глобале лежит
![]() ну да ладно вы конда считаете синус пишите вот так
так вот, вот такого
у вас нету, для вашего wav_hdr более того, оно должно быть в таком виде
где то так... -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
||||||
|
|||||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
Вроде работает, хех а я и сам не заметил. Ну а если по смыслу так подумать, то мы передаем указатель на совершенно пустую структуру, которая у нас в хедаре висит, так как же тогда из совершенно пустой структуры мы сможем узнать формат или размер фактических данных? Или это у меня уже приступ паранои, или злостный лектор специально падлянку оставил
![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
NwinIX, это параноя
![]() а что по вашему вы делаете когда из файл читаете данные в некое место.... и как раз на это место указывает указатель.. а теперь если почитать, или вспомнить что такое переменные структуры и как они распологаються в памяти то многое станет понятно, и даже станет понятно зачем необходимо делать выравнивание по 1 -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
![]() |
|||
|
||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
На строку WAVE_HEADER * wav_hdr=new WAVE_HEADER;
выдает аж 5 ошибок: error C2018: unknown character '0xa0' Что это ваще значит ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
NwinIX, а это прикол для лентяев, вы ее удалите и ручками введите
![]() а не копируйте с форума -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
NwinIX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 13.8.2005 Репутация: нет Всего: нет |
}{ех, вот хохма, пробел чертов
![]() ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
ну и че, заработало
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |