![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
RaP1D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.10.2008 Репутация: нет Всего: нет |
Есть код:
Обычные текстовики функция съедает нормально... Допустим я хочу ей скормить .wmv файл. И тут начинается - в выходном файле оказывается лишь кусок входного (десяток первых строк). Я проверил, на каком символе обрывается и оказалось, что i = -1 (как раз EOF)... Пробовал вместо EOF писать feof(input_file) - тоже самое. Может я ошибаюсь и таким методом читать видео файлы нельзя... Можно ли посимвольно читать произвольные файлы? Если да, то как? |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Cимвол на равенство eof проверять глупо: ты должен понимать, что в бинарном файле могут быть любые байты. Проверяй достижение конца файла, сравнивая число прочитанных байтов с длиной файла. Кроме того, читать посимвольно большие бинарные файлы тоже как то не очень. Пользуйся блочными функциями read - они, кстати возвращают чило реально прочитанных байтов. Если оно отличается от заказанного, то это конец файла...
-------------------- ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |