Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
1

Сравнение двух текстовых файлов

03.04.2016, 21:25. Просмотров 2583. Ответов 7
Метки нет (Все метки)

Здравствуйте, как реализовать http://www.linuxlib.ru/manpages/COMM.1.shtml с ключом -1 (уникальные строки из 1-го файла)
Прошу помочь с данной задачей

Сравнивал каждую строку каждого файла с каждой строкой второго файла, в итоге получил повторяющиеся строки (что понятно), но получил достаточно кривой вывод

Без перегона из одного вектора в другой нельзя никак сделать это? Например итератором? Спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 21:25
Ответы с готовыми решениями:

Сравнение двух текстовых файлов
господа есть 2 файла txt как сравнить точно ли информация в первом совпадает со вторым

Сравнение двух текстовых файлов
Имеется 2 файла txt. Нужно сравнить эти файлы.Они почти идентичны, но в начале первого файла есть...

Сравнение двух текстовых файлов
Добрый вечер! Задачка такая стоит: Сравнить два текстовых файла. Определить одинаковые ли они? То...

Сравнение двух текстовых файлов
Объясните, пожалуйста, как работает код #include<iostream> #include <stdio.h> #include...

7
1395 / 1252 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
04.04.2016, 07:21 2
Код где?
0
486 / 364 / 94
Регистрация: 10.03.2011
Сообщений: 1,512
Записей в блоге: 5
04.04.2016, 07:46 3
RazrFalcon, какой код?
0
390 / 353 / 62
Регистрация: 29.05.2015
Сообщений: 2,160
04.04.2016, 08:01 4
Цитата Сообщение от zontik24 Посмотреть сообщение
Без перегона из одного вектора в другой нельзя никак сделать это? Например итератором? Спасибо
Можно. Сравниваете строку из первого файла со всеми строками второго. Если совпадений не найдено (уникальная строка) - записываете в QList<int> только одну циферку - номер строки. Затем ещё раз перебираете первый файл и строки с номерами из списка - выводите на экран? Или что вам нужно?
0
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
04.04.2016, 21:38  [ТС] 5
Вот код, данные в QStringList хранил, также, посредством него выводил
C++ (Qt)
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
47
48
QFile file_1(../file.txt);
    QFile file_2(../file2.txt);
    QString str_1, str_2;
    QStringList list_1;
    QStringList list_2;
    QStringList list_3;
    QList<int> string_num;
    
        if ((file_1.open(QIODevice::ReadOnly | QIODevice::Text)) && (file_2.open(QIODevice::ReadOnly | QIODevice::Text)))
        {
 
           while(!file_1.atEnd())
           {
               str_1 = file_1.readLine();
               list_1.append(str_1);
           }
 
           while(!file_2.atEnd())
           {
               str_2 = file_2.readLine();
               list_2.append(str_2);
           }
 
           for(int i=0; i<list_1.length(); i++)
           {
               for(int j=0; j<list_2.length(); j++)
               {
                   if(list_1[i] == list_2[j])
                   {
                        string_num.append(i);
                   }
               }
           }
         
           for(int i=0; i<list_1.length(); i++)
           {
               for(int j=0; j<string_num.length(); j++)
               {
                    if(i != string_num[j])
                    {
                       list_3.append(list_1[i]);
                    }
               }
           }
 
 
           cout << list_3.join('\n').toStdString() << endl;
}
0
390 / 353 / 62
Регистрация: 29.05.2015
Сообщений: 2,160
04.04.2016, 22:03 6
Попробуй так:

C++ (Qt)
1
2
3
4
5
6
7
8
9
           for(int i=0; i<list_1.length(); i++)
           {
               for(int j=0; j<list_2.length(); j++)
               {
                   if(list_1[i] == list_2[j]) break;
                   if(j ==  list_1.length()-1) list_3.append(list_1[i]);
 
               }
           }
1
36 / 33 / 10
Регистрация: 14.06.2013
Сообщений: 432
04.04.2016, 22:19  [ТС] 7
Ничего не вывел

Задачка то легкая. Идея была загнать весь файл в строку и распарсить его, но это уже на крайний случай
0
390 / 353 / 62
Регистрация: 29.05.2015
Сообщений: 2,160
04.04.2016, 22:47 8
Лучший ответ Сообщение было отмечено zontik24 как решение

Решение

Цитата Сообщение от zontik24 Посмотреть сообщение
Ничего не вывел
Да всё работает. Проверяй, что у тебя из файлов читается.
1
Миниатюры
Сравнение двух текстовых файлов  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2016, 22:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сравнение двух текстовых файлов
Помогите пожалуйста с прогой) В С# уровень Hello World =( В С# выполнить сравнение двух текстовых...

Сравнение двух текстовых файлов.
How to open two files, compare them, and output the file that will contain text that from first...

Сравнение содержания двух текстовых файлов
Подскажите пожалуйста.как сравнить два файла в не зависимости от порядка слов в этих файлах...

Построчное сравнение двух текстовых файлов
Имеются 2 текстовых файла, необходимо выполнить их построчное сравнение с выводом (например в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.