С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32

Объединение файлов

18.01.2013, 09:39. Показов 2926. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, коллеги.

Подскажите как объединить файлы(есть папка там допустим 5 файлов(*.txt)) в один общий(его ещё и создать) и сохранить в другой каталог.

Builder C++
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2013, 09:39
Ответы с готовыми решениями:

Объединение 2-х файлов
Всем привет..нужна помощь.. вот у меня есть 2 файла: 1.ini и 2.ini как мне можно объединить их в контейнер, скажем, cont.dat так,...

Объединение файлов
Необходимо объединить несколько файлов разных типов в один с последующим чтением из него. Как это возможно реализовать?

Объединение txt файлов
пишу игру, карты реализованы ввиде текстовых файлов типа: 1111111111 1000000001 1000000001 1000000001 1000000001 1000000001...

14
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
18.01.2013, 10:02
вариантов море, от написания соответствующего батника, и исполнения его в си коде, до использования каких-нибудь специфических библиотек (boost/filesystem)
2
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.01.2013, 10:17
Через батник - хорошая идея
Code
1
2
3
4
5
type 1.txt >dir\res.txt
type 2.txt >>dir\res.txt
type 3.txt >>dir\res.txt
type 4.txt >>dir\res.txt
type 5.txt >>dir\res.txt
Для X-систем вместо type использовать cat
1
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
18.01.2013, 10:34  [ТС]
сейчас попробуем

Добавлено через 16 минут
это работает. Но рано радовался((((((
Не так поставил вопрос.
в папке появляются файлы с именем типа *ddmmyy?hhmm.txt
соответственно с датой и временем создания.

В этом случае как быть, не подскажите, добрые люди?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 16:27
FindFirstFile()/FindNextFile() или boost/filesystem+boost/regex для получения списка имен файлов, ну а дальше к обычная работа с файлами например через fstream.

Но через батник кажется тоже можно сделать такое.

Добавлено через 2 минуты
Байт, может >> c > перепутал ?
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
18.01.2013, 16:31
Цитата Сообщение от Avazart Посмотреть сообщение
Байт, может >> c > перепутал ?
Почему перепутал? Первый файл записался как есть (>), остальные добавились (>>)
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
05.02.2013, 13:15
Bash
1
2
3
4
5
@echo off
<nul set /p x_=>output.txt
for %%a IN (*.txt) DO (
 type "%%a">>output.txt
)
Если на батниках.
С заголовочными файлами буст/файлсистем не знаком, увы

Добавлено через 45 секунд
Могёт кто нибудь выложит классы(свойства\методы) и просто функции
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.02.2013, 13:19
А ...
Цитата Сообщение от Avazart Посмотреть сообщение
FindFirstFile()/FindNextFile()
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
05.02.2013, 13:20
Цитата Сообщение от Avazart Посмотреть сообщение
А ...
Это же не всё)) Ладно, погуглю
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.02.2013, 13:56
Что не все ?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
05.02.2013, 14:34
Не все функции и классы, да еще и без синтаксиса
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.02.2013, 14:54
Цитата Сообщение от FraidZZ Посмотреть сообщение
Это же не всё)) Ладно, погуглю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   String Folder =  ".", targ="output.txt", nF;
   TMemoryStream *ms = new TMemoryStream();
   TFileStream *fs = new TFileStream(targ,fmCreate|fmOpenWrite) ;
   TSearchRec SR;
   Memo1->Clear();
   if(FindFirst(Folder+"\\*.*",faAnyFile,SR) == 0)
   do
   {
     nF = SR.Name;
     if (nF != "." &&  nF != "..")
      if ((SR.Attr & faDirectory)==0)
       if (nF.SubString(nF.Length()-2,nF.Length()).UpperCase()=="TXT")
         if (nF != targ) Memo1->Lines->Add(nF);
   }
   while(FindNext(SR)==0);
   for (int i=0;i<Memo1->Lines->Count;i++) {
     ms->Position = 0;
     ms->LoadFromFile((String)Memo1->Lines->Strings[i]);
     fs->CopyFrom(ms,ms->Size);
   }
   FindClose(SR);
   delete fs;
   delete ms; 
}
Вот пример реализации (все файлы с расширением txt трамбует в один файл output.txt). Но слишком много текста; я надеюсь коллеги помогут "ужать" и подправить
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.02.2013, 00:51
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <string>
#include <boost/filesystem.hpp>
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
using namespace std;
namespace fs=boost::filesystem;
//---------------------------------------------------------------------------
int main()
{
fs::path dr(".\\Результат");
if(! fs::exists(dr) ) fs::create_directory(dr);
 
ofstream ofs(".\\Результат\\result.txt");
if(! ofs) { cerr<<"Can not create file \"result.txt\""<<endl; return 1;}
 
fs::path dir= fs::current_path();
fs::directory_iterator first(dir);
fs::directory_iterator last= fs::directory_iterator();
 
for(; first!= last; ++first)
 {
     fs::path p=  first->path();
     if( fs::extension(p)==".txt")
         {
                string filename= p.native_file_string();
                ifstream ifs( filename.c_str()  );
                if(! ifs) cerr<<"Can not open file \""<<filename<<"\""<<endl;
                else
                    {
                        cout<<filename<<endl;
                        ofs<<ifs.rdbuf()<<endl;
                    }
         }
 };
cout<<"Done!"<<endl;
getchar();
return 0;
}
//---------------------------------------------------------------------------
Добавлено через 8 часов 51 минуту
Цитата Сообщение от nick42 Посмотреть сообщение
C++
1
if(FindFirst(Folder+"\\*.*",faAnyFile,SR) == 0)
Кстати почему сразу не задать расширение ?
C++
1
if(FindFirst(Folder+"\\*.txt",faAnyFile,SR) == 0)
2
1 / 1 / 0
Регистрация: 15.01.2013
Сообщений: 32
12.02.2013, 13:48  [ТС]
не могу подключить #include <boost/filesystem.hpp>
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.02.2013, 13:49
А буст у тебя вообще стоит ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2013, 13:49
Помогаю со студенческими работами здесь

Объединение нескольких png файлов в один png-файл
В общем надо написать програмулину, которая объединяет несколько png файлов (ширина и высота одинаковы у изображений) в один png-файл. ...

Объединение файлов
Даны символьные файлы f и g. Записать в файл h сначала компоненты файла f, затем – компоненты файла g с сохранением порядка.

C# Объединение файлов
Доброго времени суток, уважаемые участники форума! Возникла следующая задача - есть два файла вида: и второй файл Размер файлов...

Объединение файлов
Не подскажите как объединить два файла в асемблере очень нкжно информации хорошей найти не могуу

Объединение файлов
Есть порядка несколько сотен файлов формата: Дата / 01.01.2017 / Контракт Номер / 1/17 Наименование / ФКУ &quot;КРЕСТ&quot; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru