Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
5 / 5 / 0
Регистрация: 12.11.2012
Сообщений: 17

Сравнить строки в txt файлах

29.11.2013, 19:52. Показов 6380. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!Есть два txt файла и нужно их сравнить. Если строки не совпадают вывести сообщение пользователю что строки не совпадают и вывести эту строку!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2013, 19:52
Ответы с готовыми решениями:

Сравнить строки в двух файлах
Доброго времени суток, уважаемый форум! Возникла проблема: имеется два файла *.txt **.txt. Нужно считать из них строки, те из них которые...

две и более строки в файлах txt
сейчас с ума сойду просто... #include <iostream> #include <fstream> using namespace std; int main(int argc, char** argv) { ...

Изменить отдельные строки в *.txt файлах по критерию
есть текстовые файлы (много) =) в которых есть строки типа lengh=1000 hi=500 и т.д.. (текст в файлах идёт строками) хотелось бы...

8
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
29.11.2013, 20:43
C#
1
2
3
4
if(!sourceString.Contains(destString))
{
Console.WriteLine("{0} - {1}", sourceString, destString);
}
1
5 / 5 / 0
Регистрация: 12.11.2012
Сообщений: 17
29.11.2013, 20:57  [ТС]
Вот у меня вот такой код:
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
 string line;
            string line1;
            List<string> list = new List<string>();
            List<string> list1 = new List<string>();
 
 
            using (StreamReader sr = new StreamReader(needPatch + "Reestr.txt"))
            {
                //line = reader.ReadToEnd();
 
 
                using (StreamReader s = new StreamReader(needPatch + "Reestr2.txt"))
                {
                    //line1 = reader1.ReadToEnd();
                    while ((line = sr.ReadLine()) != null)
                    {
                        list.Add(line);
 
 
                    }
                    while ((line1 = s.ReadLine()) != null)
                    {
                        list1.Add(line1);
 
 
                    }
                    int i = 0;
                    //int j = 0;
 
                    if (list[i] != list1[i])
                    {
                        MessageBox.Show(" не равны!" + list1[i]);
 
                    }
                    else
                    {
                        MessageBox.Show(" равны!" + list[i]);
                    }
 
 
                    s.Close();
                }
 
                sr.Close();
 
            }
он сравнивает только первую строку и выводит только этот результат, а мне нужно что бы выводило когда находит несовпадение строк и вывод той строки которая не содержится в другом файле.
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
29.11.2013, 21:08
C#
1
2
3
4
5
6
7
8
9
10
for(i=0; i< list.Count; i++)
{
string sourceString = list[i];
string destString= list1[i];
 
 if(!sourceString.Contains(destString))
{
Console.WriteLine("{0} - {1}", sourceString, destString);
} 
}
0
 Аватар для Закревский
184 / 184 / 29
Регистрация: 14.04.2013
Сообщений: 499
29.11.2013, 21:10
Nastya6,если в лоб то так:
C#
1
2
3
4
5
6
if(File.ReadAllText(path1)==File.ReadAllText(path2))
{
MessageBox.Show("Одинаковые");
return;
}
MessageBox.Show("Разные");
0
5 / 5 / 0
Регистрация: 12.11.2012
Сообщений: 17
29.11.2013, 21:17  [ТС]
мне не главное выводить равны файлы или нет. Мне нужно, вот например
1 файл:
доска
труба
лампа
осень
2 файл:
доска
труба
лампа
осень
зима

и вывести: "не совпадает строка зима"
0
 Аватар для Закревский
184 / 184 / 29
Регистрация: 14.04.2013
Сообщений: 499
29.11.2013, 21:17
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string path1,path2;
...
System.IO.StreamReader sr1 = System.IO.File.OpenText(path1);
System.IO.StreamReader sr2 = System.IO.File.OpenText(path2);            
string s1 = sr1.ReadLine();
string s2 = sr2.ReadLine();
while (!(sr1.EndOfStream || sr2.EndOfStream))
{
   if (String.Compare(s1, s2, true) == 0)
   {
MessageBox.Show("Не совпали строки:{0} и {1}",s1,s2);
return;
   }
}
MessageBox.Show("Все совпало");
0
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
29.11.2013, 21:32
Цитата Сообщение от Nastya6 Посмотреть сообщение
мне не главное выводить равны файлы или нет. Мне нужно, вот например
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    class Program
    {
        static void Main(string[] args)
        {
            string[] fileOne = System.IO.File.ReadAllLines("1.txt", Encoding.Default);
            string[] fileTwo = System.IO.File.ReadAllLines("2.txt", Encoding.Default);
 
            for (int i = 0; i < fileOne.Length; i++)
            {
                if (!fileOne[i].Contains(fileTwo[i]))
                    Console.WriteLine("Не совпадает строка {0}", fileTwo[i]);
            }
 
            Console.ReadKey();
        }
    }
1
5 / 5 / 0
Регистрация: 12.11.2012
Сообщений: 17
29.11.2013, 22:49  [ТС]
вот я сделала то что мне нужно, возможно кому-то пригодиться, вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string[] fileOne = System.IO.File.ReadAllLines(needPatch + "Reestr.txt", Encoding.Default);
            string[] fileTwo = System.IO.File.ReadAllLines(needPatch + "Reestr2.txt", Encoding.Default);
 
            for (int i = 0; i < fileOne.Length; i++)
            {
                if (!fileOne[i].Contains(fileTwo[i]))
                // MessageBox.Show("не равны!" + fileTwo[i]);
                     
                {              
                    
                    if (MessageBox.Show("Вы добавляли в автозагрузку?" + fileTwo[i] + "?", "Предупреждение!!!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        File.Delete(needPatch + "Reestr.txt");
                        File.Move(needPatch + "Reestr2.txt", needPatch + "Reestr.txt");
                    }
                    else
                    {                       
                        Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
                        myKey.DeleteValue(fileTwo[i]);
                    }
                }
            }
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2013, 22:49
Помогаю со студенческими работами здесь

Даны текстовые файлы f.txt и g.txt. Сравнить являются ли они равными
Даны текстовые файлы f.txt и g.txt. Сравнить являются ли они равными. Помогите пожалуйста.

Файл a.txt нужно сравнить с файлом c.txt
Всем привет! Есть файл a.txt: 1 2 3 4 5 Есть файл c.txt:

Создать новый файл qa.txt, который будет содержать строки с вопросами и ответами из файлов q.txt и a.txt.
В текстовом редакторе создать два текстовых файла q.txt и a.txt, которые соответственно содержат вопросы и ответы на их. Создать новый файл...

Записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt
Здравствуйте, нужно записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt помогите, пожалуйста

Сравнить значения ячеек в разных файлах
добрый день! задача такая: есть табличка. все значения в ней вводятся вручную каждую неделю создаю такой же файл и заполняю. нужно...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru