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

Сравнение файлов с одинаковыми названиями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести список на экран, упорядочив по номеру устройства,а внутри каждого номера устройства по тексту сообщения http://www.cyberforum.ru/cpp-beginners/thread720571.html
Вывести список на экран, упорядочив по номеру устройства,а внутри каждого номера устройства по тексту сообщения. Номер устройства отправителя (целое положительное четырёхзначное число); Текст сообщения (строка 50 символов); Время получения (в формате ЧЧ:ММ:СС);
C++ Правильно ли я написал программу? Из книжки Павловская Щупак Задание во вложении, вот не могу разобраться, помогите, правильно ли написана программа? #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main () { setlocale(0, "Rus"); http://www.cyberforum.ru/cpp-beginners/thread720560.html
как написать готовый код паскаль на с++? C++
program elmgmv; uses Grt,Graph; var gd,gm,xd,yd:Integer; x,y,z,mx,t,dt,q,m,v,al,vx,vy,vz,fx,fy,fz:real; e,ex,ey,ez,b,bx,by,bz:real; Begin q:=-1.6e-19; m:=9.1e-31; v:=1e8; al:=85; al:=al*pi/180;mx:=1e4; ex:=2e3;ey:=0;ez:=0; bx:=0.1; by:=0; bz:=0;
Поиск по бинарному дереву целочисленных значений C++
Здравствуйте! Очень нужна помощь данном, надеюсь что простом, задании. Заранее спасибо!:-[ Реализовать поиск по бинарному дереву целочисленных значений, генерируемых случайным образом. Кол-во чисел и диапазон задаётся пользователем. Этапы решения: 1) Построить бинарное дерево по созданному случайным образом массиве. 2) Реализовать алгоритм поиска значения, введённого пользователем с выч....
C++ поиск по имени в базе данных через хэш - таблицы http://www.cyberforum.ru/cpp-beginners/thread720540.html
#include <iostream> #include <cstring> using namespace std; struct Player { char *name; int age; int soccer_number;
C++ Даны натуральное число n, действительные числа a[1],.,a[n]. Вычислить по правилу Объясните чего от меня хотят? Даны натуральное число n, действительные числа a,...,a. Вы- числить -a,a,-a,...,(-1)^na. -1 в степени na? _что? подробнее

Показать сообщение отдельно
Morfeus
9 / 9 / 1
Регистрация: 22.10.2010
Сообщений: 110
05.12.2012, 19:17     Сравнение файлов с одинаковыми названиями
Дано два каталога(dir1, dir2), содержащих файлы *.txt и не содержащие подкаталогов. Наполнить третий каталог (RESULT):
-для каждого файла, который есть и в первом и во втором каталогах, но отличается построчно, нужно сформировать следующий файл разницы t.txt: для тех строк которые отличаются и только для них заносить следующее: 1= «строка из файла 1 каталога», 2= «строка файл из 2 каталога».


может кто помочь с данным заданием :?
написать или продолжить в таком стиле к этой программе:

Кликните здесь для просмотра всего текста
Сравнить два каталога разницу записать в третий.
В третий каталог нужно положить все файлы, которые есть в первом каталоге , но отсутствуют во втором.
В третий каталог нужно положить все файлы, которые есть во втором каталоге , но отсутствуют в первом.

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
42
43
44
45
46
#include "stdafx.h"
#include <iostream>
#include <string>
#include <set>
#include <Windows.h>
#include <stdexcept>
#include <algorithm>
#include <iterator> 
using namespace std;
 
void GetFileNames(string const& dirpath, set<string>& set)
{
    static WIN32_FIND_DATA fd;
    HANDLE hFile = FindFirstFile((dirpath + ("*.txt")).c_str(), &fd);
    if(hFile != INVALID_HANDLE_VALUE) {
        do {
            if(FILE_ATTRIBUTE_DIRECTORY != fd.dwFileAttributes) set.insert(fd.cFileName);
        }while(FindNextFile(hFile, &fd));
        FindClose(hFile);
    }
}
int main ( int argc, char ** argv )
{
    if ( argc != 4) 
    { 
        cout << "Not specified" << endl; 
        return 0; 
    }
    do {
        string dirpath1(argv[1]), dirpath2(argv[2]), dirpath3(argv[3]);
        set<basic_string<char>> set1, set2, set3;
 
        GetFileNames(dirpath1, set1);
        GetFileNames(dirpath2, set2);
        
        set_symmetric_difference(set1.begin(), set1.end(), set2.begin(), set2.end(), inserter(set3, set3.begin()));
 
        for(set<string>::const_iterator ci=set3.cbegin(); ci!=set3.cend(); ++ci)
        {
            cout << ci->c_str() << endl;
            if(CopyFile((dirpath1 + *ci).c_str(), (dirpath3 + *ci).c_str(), true));
            else if(!CopyFile((dirpath2 + *ci).c_str(), (dirpath3 + *ci).c_str(), true)){}
        }
    } while(false);
    system("pause");
}


Добавлено через 10 минут
И кстати, как скомпилировать данный код в MinGW на gcc (g++) компиляторе, а то он ругается на эти строки:

C++
1
set<basic_string<char>> set1, set2, set3;
и пишет это:
|29|error: '>>' should be '> >' within a nested template argument list|


C++
1
for(set<string>::const_iterator ci=set3.cbegin(); ci!=set3.cend(); ++ci)
и пишет это:
Код
|36|error: 'class std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >' has no member named 'cbegin'|
|36|error: 'class std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >' has no member named 'cend'|
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru