С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
78 / 78 / 11
Регистрация: 02.12.2011
Сообщений: 296

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

23.04.2012, 16:42. Показов 3644. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемый форум! Возникла проблема: имеется два файла *.txt **.txt. Нужно считать из них строки, те из них которые различаются, записать в третий файл ***.txt (его создается автоматом как сумма имен двух первых файлов), а совпавшие строки удалить из двух исходных файлов не изменяя имён этих файлов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2012, 16:42
Ответы с готовыми решениями:

Сравнить строки в txt файлах
Помогите пожалуйста!Есть два txt файла и нужно их сравнить. Если строки не совпадают вывести сообщение пользователю что строки не совпадают...

Сравнить строки двух файлов
Здравствуйте. Подскажите/помогите пожалуйста сравнить строки двух файлов. Вот всё, что у меня есть. При отсутствии совпадении одной строки,...

Сравнить два столбца в двух разных файлах MS Excel
Добрый день ув.форумчане! Нужна ваша помощь. Передо мной стоит задача написать макрос который сравнит два столбца в двух разных файлах...

8
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.04.2012, 17:33
Simulkin Stas, плохой и быстрый вариант: считать исходные строки в 2 массива строк, удалить эти файлы, сохранив предварительно их имена, после этого сравнить методом Compare(string,string), если 0, то записать в третий файл, если не 0 , то записать в 1 файл первую сравниваемую строку, во 2 файл вторую (файлы называем именами исходных файлов).
1
78 / 78 / 11
Регистрация: 02.12.2011
Сообщений: 296
23.04.2012, 21:28  [ТС]
Спасибо, за идею!!! Как вариант попробую, хотя в каждом файле около 2,5...4 тыс. строк...их число точно не известно, массив, как я полагаю динамический?

Добавлено через 7 минут
P.S. полагаю, что для определения размера массива, нужно сначала подсчитать кол-во строк в каждом из файлов, а потом эти значения использовать при инициализации массивов? Или существует более "изящный" способ?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.04.2012, 22:25
Simulkin Stas, существует. Создаем 3 файла 1.tmp, 2.tmp и файл, куда вы скидываете одинаковые строки. Примерно так это должно выглядеть:
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
string path1,path2,path3;
...
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)
   {
        System.IO.StreamWriter sw3 = System.IO.File.AppendText(path3);
        sw3.WriteLine(s1);
        sw3.Close();
   }
   else
   {
       System.IO.StreamWriter sw1 = System.IO.File.AppendText("1.tmp");
       System.IO.StreamWriter sw2 = System.IO.File.AppendText("2.tmp");
       sw1.WriteLine(s1);
       sw2.WriteLine(s2);
       sw1.Close();
       sw2.Close();
   }
}
Офк надо делать кучу проверок, но смысл примерно тот же. 1.tmp и 2.tmp в итоге переименовываете по именам исходных файлов. И сначала файлы надо создать, AppendText вроде не создает И может быть исключительная ситуация.
2
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.04.2012, 22:25
есть такая структура как List<T> с методом Add(). При инициализации обьекта количество не задается.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.04.2012, 22:26
freest, и все же выгружать целиком файлы не самый хороший стиль.
1
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
23.04.2012, 22:37
Цитата Сообщение от Psilon Посмотреть сообщение
freest, и все же выгружать целиком файлы не самый хороший стиль.
Знаю, я просто ответил на вопрос.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
23.04.2012, 22:47
это нужно "контрольную решить", или файлы разрулить?
0
78 / 78 / 11
Регистрация: 02.12.2011
Сообщений: 296
23.04.2012, 23:54  [ТС]
...нет, НЕ из "OPER"ы решить контрольную...нужно проверить насколько корректно работает другая прога, так что "жареные певчие птицы" куда-то не клюют......не спеша разберусь - мне важнее идея, как это сделать проще...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2012, 23:54
Помогаю со студенческими работами здесь

Найти в двух файлах строки с одинаковым паролем
Дано : .txt1 - вид : login : pass .txt2 вид : mail : pass Нужно найти в 2х файлах строки с одинаковым паролем и сохранить ...

Найти одинаковые строки в двух текстовых файлах
Привет! Есть два текстовых файла. Как можно найти одинаковые строки в двух файлах? можно ли это сделать при помощи winmerge,...

Получить строку, представляющую собой конкатенацию двух строк. Определить длину строки. Сравнить эти строки
Динамические строки и массивы строк Получить строку, представляющую собой конкатенацию двух строк. Определить длину строки. Сравнить два...

Строки, которые одновременно содержатся в двух заданных текстовых файлах
ребята помогите Пожалуйста!!!! Условие:Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных...

Строки, которые одновременно содержатся в двух заданных текстовых файлах
а как решить эту задачу помогите пожалуйста!! УСЛОВИЕ: Написать программу, выводящую на экран строки, которые одновременно содержатся в...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
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 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый 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 —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru