powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / бинарный файл
5 сообщений из 5, страница 1 из 1
бинарный файл
    #33836255
dimontop1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задача такая: нужно прочитать бинарый файл и перевести его контент в десятичный.
Я написал:

ifstream myFile;
char buf[100];

myFile.open("test.bil", ios::in || ios::binary);
myFile.read(buf,100);

Memo1->Lines->Add(buf);
myFile.close();
Возвращает абра-кадабра. Народ помогите!!!!!!
...
Рейтинг: 0 / 0
бинарный файл
    #33836333
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimontop1задача такая: нужно прочитать бинарый файл и перевести его контент в десятичный.
Ещё раз и покорректнее... Лучше с примером желаемого преобразования.
Какие данные лежат в файле и что нужно получить?
...
Рейтинг: 0 / 0
бинарный файл
    #33836365
dimontop1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitrii K. dimontop1задача такая: нужно прочитать бинарый файл и перевести его контент в десятичный.
Ещё раз и покорректнее... Лучше с примером желаемого преобразования.
Какие данные лежат в файле и что нужно получить?


(FD 0B 00 00)16 = (1111 1101 0000 1011 0000 0000 0000 0000)2
Так как в младших байтах нули, то номер будет выглядеть 0BFD или 3069
В мемо должно быть:
FD 0B 00 00 либо 1111 1101 0000 1011 0000 0000 0000 0000 либо 3069.
...
Рейтинг: 0 / 0
бинарный файл
    #33836411
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. IntToHex()
2. sprintf(буфер,%02X,число), если побайтно
3. ...
...
Рейтинг: 0 / 0
бинарный файл
    #33836423
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimontop1FD 0B 00 00 либо 1111 1101 0000 1011 0000 0000 0000 0000 либо 3069.

Код: plaintext
1.
2.
3.
4.
5.
6.
sprintf(buf_ff, "%c%c ", (buf[i]>> 4 ) >  9  ?  55 +(buf[i]>> 4 ) : 0x30+(buf[i]>> 4 ), (buf[i]&0xf) >  9  ?  55 +(buf[i]&0xf4) : 0x30+(buf[i]&0xf));

buf_11[i* 16 +j]=buf[i] & ( 1 <<j)+0x30;

int a= 0 ;
memcpy(a, buf[i],  2 );
sprintf(buf_10[i], "%d ", a);

Если не ошибся
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / бинарный файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]