Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Файл в бинарный вид обратно, Любой алгоритм реализации, плз... 
:(
    Опции темы
maUser
Дата 15.5.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пожалуйста, выложите любой алгоритм представления файла в двоичном виде и обратно.

Благодарю за оказанную помощь.
PM MAIL   Вверх
SenkraD
Дата 15.5.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



А можно вопрос по чётче задать, а то я немного не понял.
Если открыть как бинарник, то используй флаги функций которыми открываеш файл (у каждой функции для открытия файлов есть флаг аля ios::binary или как-то по другому).


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
maUser
Дата 15.5.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть файл и, например, в AnsiString нужно записать его бинарный вид и, наоборот, есть строка AnsiString с нулями и единицами, указываем расширение будущего файла и создаем его.
PM MAIL   Вверх
SenkraD
Дата 15.5.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



Кажись так
Код

char szStr[80];
String Str
ifstream hInFile;    
ofstream hOutFile;    

hInFile.open("notepad.exe", ios::binary);    
hOutFile.open("Binary.txt");    
if(!hInFile || !hOutFile)    
{    
     ShowMessage("Не удалось открыть файл");    
     return;    
}    
else    
{    
     hInFile.getline(szStr, sizeof(szStr));
     Str = String(szStr);    
     hOutFile.write(Str.c_str(), Str.Lenght);    
}

hInFile.close();
hOutFile.close();


Вообщем так, но глюки и ошибки не исключены

Это сообщение отредактировал(а) SenkraD - 15.5.2007, 17:19


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
maUser
Дата 15.5.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А что если файл больше 80 бит (то есть 10 байт) или я что-то не понял???
PM MAIL   Вверх
SenkraD
Дата 15.5.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



Звиняй ну так будет более понятно - я просто код копировал не очень акуратно вырезал
Код

char szStr[80];    
String Str    
ifstream hInFile;     
ofstream hOutFile;     
hInFile.open("notepad.exe", ios::binary);     
hOutFile.open("Binary.txt");     
if(!hInFile || !hOutFile)     
{     
     ShowMessage("Не удалось открыть файл");     
     return;     
}     
else     
{     
     while(!hInFile.eof())
     {
          hInFile.getline(szStr, sizeof(szStr));    
          Str = String(szStr);     
          hOutFile.write(Str.c_str(), Str.Lenght);     
     }
}    
hInFile.close();    
hOutFile.close();


Вообщем мы считываем с файла данные порциями по 80 символов до тех пор пока не придём в конец файла


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
maUser
Дата 15.5.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Теперь понял, большое спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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