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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как прочитать каждый байт из файла в hex, Читать файл в hex 
:(
    Опции темы
Sane
Дата 28.3.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне нужно прочитать каждый байт файла перевести в hex для сравнивания с каким нить значением, скажем 1Bh, как можно это сделать?
Кстате когда читаю файл таким способом(см. ниже), файл из 17 500 байт читается только первые 150 символов а потом конец файла smile
FILE *stream;
char ch_;
fopen(OpenDialog->FileName.c_str(),"r");
fseek(stream,0,0);
do
{
ch_ = fgetc(stream);
Memo1->Lines->Add(ch_);
count++;
}while (ch_ != EOF);
fclose(stream);
PM MAIL   Вверх
sh1z1k
Дата 28.3.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



открывай фаил в режиме "rb", и байт записывай не в char а в int, а потом переводи полученное десятичное число в шеснадцатиричное.
PM MAIL   Вверх
Romikgy
Дата 28.3.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Код

FILE *stream;
char ch_;
fopen(OpenDialog->FileName.c_str(),"rb");
fseek(stream,0,0);
do
{
ch_ = fgetc(stream);
Memo1->Lines->Add(IntToHex((unsigned int)ch_,2));
count++;
}while (ch_ != EOF);
fclose(stream); 


имхо правда лучше в строку выводить по 16 или 8 байт


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Sane
Дата 28.3.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за ответы!!!
Разабрался, все получилось smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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