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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
smertnik
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
#1

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

30.08.2012, 01:00. Просмотров 2041. Ответов 20
Метки нет (Все метки)

столкнулся с такой проблемой и не могу найти ей объяснение.
есть код читающий содержимое двоичного файла:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fcntl.h>
#include <sys\stat.h>
char *bytef;
void read_f()
{
    FILE *openfile;
    openfile=fopen(path.c_str(),"rb");
    if (openfile)
    {
        struct stat statbuf;
        stat(path.c_str(),&statbuf);
        bytef=new char[statbuf.st_size];
        fread (bytef,statbuf.st_size,1,openfile);
    };
fclose(openfile);
}
}
чтение происходит без ошибок, но сделав паузу и просматривая содержимое переменной bytef наблюдаю
появление символов '\n' там где их в реале нет! при записи содержимого переменной в файл, обнаружил закономерность:
символ '\n' , 0D в шестнадцатиречиной системе, появляется только перед символом 0A который непечатаемый, но в файле есть! и после чтения из файла bytef становится больше на добавленное количество символов! сделал цикл вырезающий '\n' перед 0А, но при записи в файл у меня '\n' начало затирать байты перед 0А вобще бред какой-то... пробовал читать из файла и писать разными методами (read, fread) и в разные переменные просто мистика какая-то...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2012, 01:00     Некорректно читаются данные из бинарного файла
Посмотрите здесь:
C++ Не читаются данные из txt-файла
C++ Извлечь данные из бинарного файла
Вывести данные из бинарного файла в окно графическом режима C++
C++ Записать\прочесть данные в\из бинарного файла в инкапсулированну структуру
Создание бинарного дерева из бинарного файла C++
C++ Создание бинарного дерево из бинарного файла
Чтение из файла, не все числа читаются в потоке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2012, 09:52     Некорректно читаются данные из бинарного файла
Еще ссылки по теме:
Построение идеально сбалансированного дерева, значения читаются из текстового файла C++
Строки читаются из текстового файла функцией fgets и указатели на них помещаются в структуру данных... C++
Некорректно выводятся данные C++
C++ Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Данные записываются в файл некорректно C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.08.2012, 09:52     Некорректно читаются данные из бинарного файла #21
Цитата Сообщение от smertnik Посмотреть сообщение
у меня мысли такие: fwrite и write пишут по правилам из второго поста и поэтому добавляют 0D
Бинарное чтение\запись ничего не добавляет, в отличие от текстового. Во втором посте кода нет. Все другие ваши коды (1 и 9 пост) я проверил. Результат выложен. Если сейчас всё нормально работает, то можно на этом и остановиться, или выложите пример кода, где происходит что-то непонятное. Больше информации к размышлению нет.
Yandex
Объявления
31.08.2012, 09:52     Некорректно читаются данные из бинарного файла
Ответ Создать тему
Опции темы

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