Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> чтение в HEX из бинарного файла, чтение в HEX из бинарного файла 
V
    Опции темы
mrgloom
Дата 14.6.2011, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



смотрю бинарный файл через HEX editor 
потом пытаюсь считать его и записать в другой файл,

Код

std::ifstream file;
file.open("test.fi", ios_base::binary);
fstream out_file("test.txt");
if (file.is_open()&&out_file.is_open())
{
        // get file size
        file.seekg(0,ios::end);
        int file_size=file.tellg();
        file.seekg(0,ios::beg);

        std::vector<byte> data(file_size, 0);
        file.read(reinterpret_cast<char*>(&data[0]), file_size); //тут смущает каст может это из за него все портится?
}

for(int i=0;i<file_size;++i)
{
    //out_file/*<<hex*/<<data[i];
        out_file<<hex<<data[i];
}


в итоге при просмотре test.txt  примерно до половины все совпадает, а после влезает непонятно откуда 0d,  а потом все опять совпадает.
размеры файлов различаются на 1 байт.

PM MAIL   Вверх
asmdzen
Дата 14.6.2011, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



out_file нужно так же открыть как binary, 0d появляется только после 0a.
PM MAIL   Вверх
mrgloom
Дата 14.6.2011, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



похоже это notepad++ автоматом перед  OA  вставил OD.

Добавлено через 2 минуты и 55 секунд
странно если написать

Код

fstream out_file("test.txt",ios_base::binary);


то внутрь условия не заходит.
Код

if (file.is_open()&&out_file.is_open())




PM MAIL   Вверх
mrgloom
Дата 14.6.2011, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



std::ofstream out(fName, std::ios_base::binary | std::ios_base::out);

все вопрос решился.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0795 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.