Немного устарел, я полагаю :), но я наткнулся на этот пост, потому что искал справку по той же проблеме: у меня есть два файла, которые я отображаю рядом, и я должен отметить строки, не соответствует красному.
Мой - немного особый случай, потому что 1) порядок не важен, и 2) каждая строка гарантированно встречается только один раз (текст - файл лицензии с определениями, строка за строкой).
Оказалось, что самый простой способ сделать это - просто составить списки двух файлов, ls1 и ls2, и сделать следующее (в псевдокоде):
i = 0;
while (i < ls1.count) {
n = ls2.find(ls1[i]);
if (n >= 0) {
// found match in ls2
ls1.Delete(i);
ls2.Delete(n);
} else
i++;
}
Объяснено, для каждой строки есть ls1, посмотрите, есть ли соответствующая строка в ls2. Если так, удалите оба. То, что у вас осталось, - это просто различия, и вы можете легко разметить эти строки в исходном тексте.
Чрезвычайно легко, без библиотек. Просто мои два цента ...