Używam polecenia diff do porównywania dwóch plików tekstowych. Muszą być dosłownie dopasowane.Polecenie diff: nie drukuje linii, które są różne, ale nadal mówi, że oba pliki są różne
Więc używam Diff:
diff binary.out binary.expected
(.. Nawiasem mówiąc, te pliki nie są pliki binarne są plik tekstowy nazywam je binarny bo to nazwa projektu)
i dostał
Binary files binary.out and binary.expected differ
Kiedy użyć innego narzędzia diff, najmądrzejszy ze wszystkich (AKA hum an), a między tymi plikami naprawdę nie ma nic.
Czy ktoś może wiedzieć, co się tutaj dzieje?
Dzięki.
'diff' ma wąskie pojęcie" tekstu ". Możesz mieć specjalne znaki, które w rzeczywistości nie są takie specjalne: akcenty, powraca karetka. – geekosaur
Nie sądzę, że moje pliki tekstowe mają specjalne znaki. Zawierają tylko słowo "BINARY SUM", cyfry "0" i "1" oraz kilka znaków nowej linii. Ale nawet to nie wyjaśnia, podczas gdy diff uważał moje pliki binarne za pliki –
Jeśli nie masz sekwencji LF/CR (powrót linii/powrotu karetki) na końcu każdego ciągu pliku, to w większości edytorów tekstu w systemie Windows potraktuje te pliki jako pliki binarne. Symbole te są niewidoczne, gdy patrzysz na tekst w trybie tekstowym, ale spróbuj spojrzeć na pliki w trybie binarnym i powinieneś zobaczyć 0xD 0xA na końcu każdej linii. – Flot2011