![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| PsyNejumi303 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 20.3.2006 Репутация: 1 Всего: 1 |
как можно прочесть определенное количество байт или символов из файла?
пытаюсь тэги из мп3 вытащить.
компилица норм. но когда начинает выполняца эта функция, то вот что пишет: "Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection." помогите плиз. |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
вся индексация в программировании начинается с 0.
не вдаваясь в семантику написанного, я не знаю где находятся теги в МР3. здесь мы пытаемся прочитать последние 128 байт, тогда начало указывается
-------------------- "Тонкая, однако, работа." |
|||
|
||||
| PsyNejumi303 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 20.3.2006 Репутация: 1 Всего: 1 |
-ser-, так тож не получаецо. тож самое пишет.
а тэги первой версии как раз лежат в последних 128 байтах. я ща сделал вот так:
но цыкл мне чот не очень нравицо. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Второй аргумент Read указывает смещение не в потоке, а в массиве-приёмнике. Поэтому юзаем FileStream.Seek, причём юзаем только 1 раз, и читаем не побайтно а сразу 128 байт. В Seek можно указать смещение не вперёд а назад (от конца файла), что нам и нужно. Окончательно:
Добавлено @ 11:40 З.Ы. мп3-тэг лежит в двоичном виде, поэтому если выводить его в string "как есть" - получим набор кракозябл с нормальными строками посредине. -------------------- ![]() |
|||
|
||||
| PsyNejumi303 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 20.3.2006 Репутация: 1 Всего: 1 |
mr.DUDA, во. бальшое спасибо.
так красивше чем мой цыкл. и умнее) а есть возможность вытащить например ток 4 байта находящиеся где-нить по середине. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |