Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/51: Рейтинг темы: голосов - 51, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43

Вывести двоичный код файла.

30.09.2009, 16:00. Показов 10677. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят.. знающие люди подскажите\помогите написать на C++Builder код программы....
она должна по нажатию кнопки на форме открыть OpenDialog1, выбрать файл,прочитать его и вывести в Memo1 двоичный код....(ну или там 10чный...16ричный...
В частном случае файл,который мне нужно считать имеет расширение .bit и содержит аудиозапись...

если можно код программы с самого начала.. тамде модули подключаются и все такое...(я начинающий программер... а как говорят учится си надо по примерам)


Заранее спасибо )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2009, 16:00
Ответы с готовыми решениями:

Символ string в двоичный код
есть буква или цифра в формате string как её преобразовать в двоичный вариант и сохранить в массиве int, каждый элемент массива int...

Перевод файла в двоичный код
Привет всем. Возникла проблема: нужно любой файл перевести в двоичный код. Как это сделать средствами C++ или WInAPI?

Как узнать двоичный код файла?
...То есть разложить на единицы и нолики.

50
14 / 14 / 1
Регистрация: 18.09.2009
Сообщений: 45
30.09.2009, 19:23
Цитата Сообщение от Zashibator Посмотреть сообщение
если можно код программы с самого начала.. тамде модули подключаются и все такое...
У вас проблемы именно с файлами .bit ?
Вы умеете загружать хотя бы .txt ?

Цитата Сообщение от Zashibator Посмотреть сообщение
(я начинающий программер... ...)
лесть.начинающие ПРОГРАММЕРЫ не просят код с самого начала!
1
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
30.09.2009, 19:52
В чем конкретно сложность ?

Цитата Сообщение от Save.L Посмотреть сообщение
лесть.начинающие ПРОГРАММЕРЫ не просят код с самого начала!
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
30.09.2009, 21:14  [ТС]
есть вот такой код у меня...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
 
int FileName;
 
OpenDialog1->Title = "-----------"; //надпись окна
  if (OpenDialog1->Execute())
    {
      if (FileExists(OpenDialog1->FileName));
             
       
          Memo1->Clear();
          Memo1->Lines->Add(FileName);//вывод в мемо1
          Memo2->Clear();
          Memo2->Lines->Add();
Добавлено через 2 минуты
я не представляю как открыть файл .bit.
как там его обьявить нужный тип для выбираемого файла)
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
30.09.2009, 21:20
Цитата Сообщение от Zashibator Посмотреть сообщение
я не представляю как открыть файл .bit.
как там его обьявить нужный тип для выбираемого файла)
Почитайте про нетипизированные файлы . С нетипизированными файлами можно работать на уровне байтов
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
30.09.2009, 21:36  [ТС]
МОЖНО ссылочку ??
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
30.09.2009, 21:45
Смотрите восьмую ссылку http://yandex.ru/yandsearch?te... 3&lr=11119
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
30.09.2009, 22:03  [ТС]
там показано как файл статически зафиксирован .. а мне нужно его выбрать с поомщью опендиалог1... как его засунуть в if((ini=fopen("ИМЯ ФАЙЛА","X+b"))==NULL)
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
30.09.2009, 22:11
Цитата Сообщение от Zashibator Посмотреть сообщение
там показано как файл статически зафиксирован


Напишите что-то вроде
C++
1
2
OpenDialog1->Execute();
ini=fopen(OpenDialog1->FileName,"X+b");
Добавлено через 4 минуты
TOpenDialog только дает возможность выбора пути к файлу, который содержится в OpenDialog1->FileName
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
30.09.2009, 22:33  [ТС]
сяп ))
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
01.10.2009, 16:00  [ТС]
вот попробовал.. вроде верно...
есть вопрос на счет вывода результат...
значит я тут открыл файл в режиме чтения "r"
нужно считать его весь и вывести ...
fread и fwrite - я понял... а какие аргументы в скобках писать ???

вот мой нынешний код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
 
FILE *ini;
 
OpenDialog1->Title = "-----------"; //íàäïèñü îêíà
  OpenDialog1->Execute();
  ini=fopen(OpenDialog1->FileName,"r");
   {
   ShowMessage("ôàéë íå ïðî÷èòàí");
   } else
   {
fwrite
 
          Memo1->Clear();
          Memo1->Lines->Add(ini);//âûâîä â ìåìî1
 
}
  }
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
01.10.2009, 16:14
Смотрите на скриншот
Миниатюры
Вывести двоичный код файла.  
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
01.10.2009, 16:25  [ТС]
не оч понял скрин.. можно ссылочку )
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
01.10.2009, 16:32
http://ru.wikipedia.org/wiki/Ф... в_языке_Си

Если хотите открыть для чтения пишите ini=fopen(OpenDialog1->FileName,"rb");
Если надо открыть для записи пишите ini=fopen(OpenDialog1->FileName,"wb");
b означает что открывается в бинарном режиме - как раз то что тебе надо
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
01.10.2009, 16:35  [ТС]
я хочу считать файл и вывести в мемо1 бинарный код файла..
знач мне нужно сначала прочитать файл )
а вывести каким образом ?
0
 Аватар для dimacyxarev
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 39
01.10.2009, 16:39
Цитата Сообщение от RNT Посмотреть сообщение
OpenDialog
где найти его???
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
01.10.2009, 16:42  [ТС]
ini=fopen(OpenDialog1->FileName,"rb"); - прочитал

а вывод Memo1->Lines->Add(ini); - а это вывод ??

в этой строке ошибку выдает ini=fopen(OpenDialog1->FileName,"rb");
[C++ Error] Unit1.cpp(28): E2034 Cannot convert 'AnsiString' to 'const char *'
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
01.10.2009, 16:49
Цитата Сообщение от dimacyxarev Посмотреть сообщение
где найти его???
Ищите TOpenDialog , ищите в хелпе

Цитата Сообщение от Zashibator Посмотреть сообщение
в этой строке ошибку выдает ini=fopen(OpenDialog1->FileName,"rb");
Для чтения и записи используйте разные переменные , например так

C
1
2
in=fopen(OpenDialog1->FileName,"rb");
out=fopen(OpenDialog1->FileName,"wb");
Добавлено через 3 минуты
Почитайте книгу Крупника "Изучаем Си" , там все понятно расписано
0
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 43
01.10.2009, 17:18  [ТС]
у меня тока чтение идет .. код вот такой...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::Button1Click(TObject *Sender)
{
FILE *ini;
 
OpenDialog1->Title = "-----------"; 
OpenDialog1->Execute();
ini=fopen(OpenDialog1->FileName,"rb"); //вот тут ошибка
 
 
Memo1->Clear();
Memo1->Lines->Add(ini);//вывод в мемо1
 
}
  }

запись не нужна .. нужен вывод.вот как его сделать ??

Добавлено через 19 минут
даже так спрошу.. я просто раньше работал с выводом файла который не выбирается,а там путь прописан..
а тут файл выбирается и вывести его нада в мемо1.....я не соображу как вывод в мемо сделать!!!
0
Автор FAQ
 Аватар для RNT
3149 / 369 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
01.10.2009, 17:24
Цитата Сообщение от Zashibator Посмотреть сообщение
Memo1->Lines->Add(ini);//вывод в мемо1
Так нельзя . Файл надо сначала прочитать .

Добавлено через 1 минуту
К тому-же надо преобразовать в двоичный вид

Добавлено через 3 минуты
Вот процедура , которая принимает число , переводит в двоичный вид , и выводит в консоль

C++
1
2
3
4
5
6
7
8
void dec2bin(int x)
{
        if (x)
        {
                dec2bin(x/2);
                printf("%i", x%2);
        }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2009, 17:24
Помогаю со студенческими работами здесь

Вывести двоичный код в массив в заданном формате
Необходимо вывести двоичный код в массив в таком формате 1 10 11 100 101 и т.д. до N-ого раза я пытался решить это 3...

Двоичный код файла перевести в wct систему счисления
Здравствуйте! Помогите пожалуйста склепать консольную программу без интерфейса, если написать converter.exe (имя программы) file.exe...

Как программным путем редактировать двоичный код файла?
Подскажите, какими процедурами и функциями можно открыть файл в виде двоичного кода и совершать математичемкие операции с ним?

Каким образом открыть двоичный код, файла любого формата?
Каким образом открыть двоичный код, файла любого формата? Гугл читал, толком ничего не нашел, может кто что-то посоветует?

Считать из тектового файла двоичный код и заменить некоторые биты на противоположные
Есть текстовый файл, в нем записан двоичный код. Нужно составить программу, которая будет считывать двоичный код из этого файла, после...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru