Форум программистов, компьютерный форум CyberForum.ru

Клиим несколько файлов в одлин и обратно - C++

Восстановить пароль Регистрация
 
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
07.02.2012, 00:32     Клиим несколько файлов в одлин и обратно #1
Дайте совет как склеить несколько файлов в один а потом расклеить. Ну например как это делает винрар. ?? дайте совет как правильно кто поопытнее?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
07.02.2012, 00:49     Клиим несколько файлов в одлин и обратно #2
Ну если ты хочешь именно как winrar. то должен знать, что он их в первую очередь СЖИМАЕТ. То есть если тебя интересует сжатие- это один вопрос, если именно конкатенация- это второй вопрос, если и то и другое- третий вопрос. Ну вот если тебе надо сжимать файлы, попробуй сжать хотя бы один файл. Для этого изучи какие-нибудь алгоритмы или свой придумай.

Идея достойная, хотя практической пользы ноль. Есть winrar, есть 7zFM, когда вникнешь в проблему, поймёшь, что там выше головы не прыгнешь.

В основе сжатия лежит тот факт, что в файле присутствуют повторяющиеся группы байт, например:
22 22 22 22 22 22 22 22 22 22 22 22 22

Если предположить, что эта цепочка находится по адресу x, тогда всю эту свадьюбу можно зашифровать, к примеру так:
x 13 22

Что будет означать: по адреcу x лежит цепочка из 13-байт, каждый из которых равен 22
Ну вот как-то так.

Давно-давно я слепил архиватор, который работал только с одними символами- нулями там или единицами или двойками. Так, чисто для себя, чтобы знать и иметь моральное право умничать на форуме!
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
07.02.2012, 02:15     Клиим несколько файлов в одлин и обратно #3
Цитата Сообщение от n971030 Посмотреть сообщение
склеить несколько файлов в один а потом расклеить
А ты будешь клеить бинарники или текстовые файлы? С текстовыми все просто, можно, например, склеить их в файл вот такой структуры:

Код
[!myfile1.txt_begin]
... здесь содержание файла myfile1.txt ...
[!myfile1.txt_end]

[!file2.txt_begin]
... здесь содержание файла file2.txt ...
[!file2.txt_end]
Только работать с бинарниками это не будет.
Для текстовых достаточно просто написать прогу, которая будет создавать файл вышеописаной структуры, а потом будет его разпарсивать на отдельные файлы.
Если файл содержит символ '[' или ']', то лучше заменяй их на \[ и \], а при декодировании вернешь обратно ([!имя_файла_begin] и [!имя_файла_end] - это служебные строки), если этого не сделать, а в одном из входных файлов вдруг будет что-то типа [!123.txt_begin], то прога будет работ некоректно.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
07.02.2012, 10:58     Клиим несколько файлов в одлин и обратно #4
Цитата Сообщение от zago-vlad Посмотреть сообщение
Если файл содержит символ '[' или ']', то лучше заменяй их на \[ и \],
И проходиться при сборке/разборке по всем файлам неизвестной длинны? Не хотеть! Лучше всего не велосипедить, а взять обычный tar.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.02.2012, 11:04     Клиим несколько файлов в одлин и обратно #5
Врядли здесь найдётся хоть кто то, умеющий клиить вообще, тем более клиить обратно.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.02.2012, 11:13     Клиим несколько файлов в одлин и обратно #6
zlib можешь заюзать вообщем-то.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
07.02.2012, 11:22     Клиим несколько файлов в одлин и обратно #7
Цитата Сообщение от taras atavin Посмотреть сообщение
Врядли здесь найдётся хоть кто то, умеющий клиить вообще, тем более клиить обратно.
Нет, ну почему же... Я в своё время написал джойнер и нормальный такой джойнер, смею думать...
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
07.02.2012, 11:43     Клиим несколько файлов в одлин и обратно #8
kravam, выложи. например в бету
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
07.02.2012, 12:04     Клиим несколько файлов в одлин и обратно #9
Здесь нельзя такое обсуждать
AzaKendler
07.02.2012, 12:07
  #10

Не по теме:

kravam, ааааааа) поняаааатно

n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
07.02.2012, 12:42  [ТС]     Клиим несколько файлов в одлин и обратно #11
Цитата Сообщение от zago-vlad Посмотреть сообщение
А ты був вдруг будет что-то типа [!123.txt_begin], то прога будет работ некоректно.
Я собирлся клеть все как бинарники. Мне тока такой вариант, надо именно самому а не использовать что то где то! задание в универе косвиное такое
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.02.2012, 15:17     Клиим несколько файлов в одлин и обратно #12
n971030, Либо сохранять размеры файлов, которые клеим. Либо вставлять некий хедер перед началом каждого файла.
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
07.02.2012, 23:26  [ТС]     Клиим несколько файлов в одлин и обратно #13
Цитата Сообщение от ForEveR Посмотреть сообщение
n971030, Либо сохранять размеры файлов, которые клеим. Либо вставлять некий хедер перед началом каждого файла.
я прикинул такую запись
<байт - кол-во символов в строке> <строка с именем файла> <размер файла в байтах> <файл>
короче также для каждого файла.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2012, 23:38     Клиим несколько файлов в одлин и обратно
Еще ссылки по теме:

C++ Несколько cpp файлов в проекте
Слить несколько txt-файлов в один C++
C++ Разделение кода на несколько файлов

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.02.2012, 23:38     Клиим несколько файлов в одлин и обратно #14
Цитата Сообщение от ForEveR Посмотреть сообщение
Либо вставлять некий хедер перед началом каждого файла.
По-моему лучше в начале склеенного файла сделать заголовок либо постоянной длины (ограничение на количество склеиваемых файлов, за то просто), либо переменной длины, содержащий имена файлов и их смещение от начала общего файла...
Yandex
Объявления
07.02.2012, 23:38     Клиим несколько файлов в одлин и обратно
Ответ Создать тему
Опции темы

Текущее время: 21:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru