Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
#1

C++ не считывает пробелы из бинарного файла - C++

24.12.2013, 20:12. Просмотров 564. Ответов 7
Метки нет (Все метки)

Всем салют.
Завис на одной проблемке, может кто поможет?
При побайтовом считывании бинарного файла (для примера расширение .png), считываются все символы кроме пробелов!!! Как быть не знаю просто
P.S. при том же бинарном побайтовом чтении текстового файла пробелы нормально считываются.
считываю так:
C++
1
fread(&buf,sizeof(BYTE),1,file1);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2013, 20:12     C++ не считывает пробелы из бинарного файла
Посмотрите здесь:

C++ считывает текст из файла
Неправильно считывает с файла C++
Функция getline не считывает пробелы C++
Не считывает с файла C++
C++ Не считывает с файла
не считывает текст из файла C++
программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробелы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.12.2013, 20:15     C++ не считывает пробелы из бинарного файла #2
А откуда в бинарном файле вообще взялись символы?
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.12.2013, 20:30     C++ не считывает пробелы из бинарного файла #3
Цитата Сообщение от DimyanW Посмотреть сообщение
При побайтовом считывании бинарного файла (для примера расширение .png), считываются все символы кроме пробелов!!!
Как это определили?
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
24.12.2013, 20:32     C++ не считывает пробелы из бинарного файла #4
Как открыл файл?
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
24.12.2013, 20:46  [ТС]     C++ не считывает пробелы из бинарного файла #5
FILE*file1=NULL;
file1=fopen("paint.png","rb")

Добавлено через 26 секунд
Цитата Сообщение от villu Посмотреть сообщение
Как открыл файл?
Цитата Сообщение от taras atavin Посмотреть сообщение
А откуда в бинарном файле вообще взялись символы?
блокнот тебе в помощь

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
Как это определили?
под отладчиком прогонял (до этого открыл файл через блокнот) и как только в переменную buf должен заноситься пробел, в нее заносится NULL или прочий мусор, причем остальные символы он нормально считывает
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.12.2013, 20:56     C++ не считывает пробелы из бинарного файла #6
Цитата Сообщение от DimyanW Посмотреть сообщение
(до этого открыл файл через блокнот) и как только в переменную buf должен заноситься пробел
Т.е., байт со значением 32? И в отладчике видно это значение?

Добавлено через 2 минуты
Цитата Сообщение от DimyanW Посмотреть сообщение
блокнот тебе в помощь
Блокнот для таких дел не подходит. Он может показывать только коды символов (то, что имеет графическое отображение), другие значения он просто не покажет, и если блокнот что-то не показывает, то это не значит, что это обязательно пробел (код 32).

Добавлено через 4 минуты
Открывайте такие файлы (не текстовые) hex-редактором, чтобы увидеть, что там на самом деле в байтах.
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
24.12.2013, 20:57  [ТС]     C++ не считывает пробелы из бинарного файла #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Т.е., байт со значением 32? И в отладчике видно это значение?

Добавлено через 2 минуты

Блокнот для таких дел не подходит. Он может показывать только коды символов (то, что имеет графическое отображение), другие значения он просто не покажет, и если блокнот что-то не показывает, то это не значит, что это обязательно пробел (код 32).

Добавлено через 4 минуты
Открывайте такие файлы (не текстовые) hex-редактором, чтобы увидеть что там на самом деле.

просто все кроме пробелов он считывает точно также как и в блокноте.
дело в том, что я сжимаю входной файл (считываю его побайтово), после чего обратно разжимаю. И если сравнивать эти два файла открыв через блокнот, то они во всем сходятся за исключением отсутствия у рассжатого пробелов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2013, 21:10     C++ не считывает пробелы из бинарного файла
Еще ссылки по теме:

Считывает текст из файла! C++
Программа не считывает пробелы C++
C++ Не считывает данные из файла
Неправильно считывает 2 последних значения с файла C++
C++ Неверно считывает строку из файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.12.2013, 21:10     C++ не считывает пробелы из бинарного файла #8
Цитата Сообщение от DimyanW Посмотреть сообщение
просто все кроме пробелов он считывает точно также как и в блокноте.
дело в том, что я сжимаю входной файл (считываю его побайтово), после чего обратно разжимаю. И если сравнивать эти два файла открыв через блокнот, то они во всем сходятся за исключением отсутствия у рассжатого пробелов
По поводу рассматривания в блокноте не текстовых файлов, я сказал всё, что мог. Дальше - дело ваше, можете продолжать.
Yandex
Объявления
24.12.2013, 21:10     C++ не считывает пробелы из бинарного файла
Ответ Создать тему
Опции темы

Текущее время: 13:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru