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

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

18.01.2013, 09:39. Показов 2916. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru