Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Не считываются пробелы из файла - C++
Допустим пытаюсь считать из файла "ghf fk ff 123 1", а выводится/считывается "ghffkff1231" В чем может быть проблема? #include...

Не считываются данные из файла в объект - C++
Pass_order.h: #pragma once #include"Information_of_Order.h" class Pas_order :public Information_of_Order{ protected: int...

Элементы вектора считываются с файла зеркально - C++
Неверно рассчитываются корни СНАУ, так как исходные данные с вектора "num" считываются зеркально, в чём ошибка? Файл num.txt представлен...

Неправильно считываются данные из wav-файла - C++
Всем привет! У меня проблема с получением данных из WAV файла. Почему то функция, которая написана ниже, возвращает размер блока data в 2...

Создание бинарного дерева из бинарного файла - C++
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*& Tree) { Bin q;

Создание бинарного дерево из бинарного файла - C++
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*& Tree) { ...

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

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

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

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

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

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

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

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

просто все кроме пробелов он считывает точно также как и в блокноте.
дело в том, что я сжимаю входной файл (считываю его побайтово), после чего обратно разжимаю. И если сравнивать эти два файла открыв через блокнот, то они во всем сходятся за исключением отсутствия у рассжатого пробелов
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.12.2013, 21:10 #8
Цитата Сообщение от DimyanW Посмотреть сообщение
просто все кроме пробелов он считывает точно также как и в блокноте.
дело в том, что я сжимаю входной файл (считываю его побайтово), после чего обратно разжимаю. И если сравнивать эти два файла открыв через блокнот, то они во всем сходятся за исключением отсутствия у рассжатого пробелов
По поводу рассматривания в блокноте не текстовых файлов, я сказал всё, что мог. Дальше - дело ваше, можете продолжать.
0
24.12.2013, 21:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2013, 21:10
Привет! Вот еще темы с ответами:

При чтении файла считываются невидимые символы - C++
Доброго времени суток! При считывании с файла символов и записи в список считываются невидимые символы (буква я). Откуда она взялась? В...

При чтении из файла последние данные считываются дважды !? eof() ? - C++
Есть следующий код: std::ifstream fin("ParentList", std::ios::binary); QString str; while(!fin.eof()) { ...

условие: с файла по-байтно считываются символы (while (от первого до последнего символа)) - C++
помогите загнать в цикл. а то совсем заморочился уже. условие: с файла по-байтно считываются символы (while (от первого до последнего...

Вычислить объем цилиндра. Исходные данные считываются программой из файла. Результат сохранить в файл - C++
Помогите, пожалуйста, с кодом программы на си или си++, заранее большое спасибо! P.S. Нашла только с вводом исходных данных, но...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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