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

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

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

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

30.08.2012, 01:00. Просмотров 1953. Ответов 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     Некорректно читаются данные из бинарного файла
Посмотрите здесь:

Строки читаются из текстового файла функцией fgets и указатели на них помещаются в структуру данных... C++
Некорректно выводятся данные C++
Редактирование бинарного файла C++
C++ Дамп бинарного файла
Данные записываются в файл некорректно C++
Считывание бинарного файла C++
Вывести данные из бинарного файла в окно графическом режима C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2012, 09:52     Некорректно читаются данные из бинарного файла
Еще ссылки по теме:

Построение идеально сбалансированного дерева, значения читаются из текстового файла C++
C++ Ошибка в программе. Данные записываются в файл некорректно
Чтение из файла, не все числа читаются в потоке C++
C++ Записать\прочесть данные в\из бинарного файла в инкапсулированну структуру
C++ Извлечь данные из бинарного файла

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

Или воспользуйтесь поиском по форуму:
alsav22
5415 / 4811 / 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