Я создал программу, использующую кодирование Хаффмана для сжатия и распаковки .txt-файлов (ANSI, Unicode, UTF-8, Big Endian Unicode ...).C++ в Windows Я не могу поместить символ Enter в файл .txt
В декомпрессии я беру персонаж из бинарного дерева, и я положил их в .txt в двоичном режиме:
Ofstream F;
F.open("example.txt", ios::binary);
я должен написать в .txt файл в двоичном режиме потому, что мне нужно распаковать каждый тип TXT-файла (не только ANSI), так что мои символы - это одиночные байты.
В Windows он помещает каждый символ, но не заботится о символе Enter!
Например, если у меня есть этот example.txt файл:
Hello
World!
=)
сжать его в example.dat файл и я сохранить дерево Хаффмана в другой файл (exampletree.dat). Теперь распаковывать example.dat я беру персонажей из дерева, сохраненного в exampletree.dat, и я положил их в новый текстовый файл через put()
или fwrite()
, но на Windows, она будет выглядеть следующим образом:
HelloWorld!=)
На Ubuntu он отлично работает и сохраняет также символ Enter!
Это не ошибка кода, потому что если я печатаю на консоли распакованный файл .txt, он также печатает символы ввода! Так что проблема в Windows! Не мог бы кто-нибудь мне помочь?
Что вы используете для отображения содержимого файла? Для меня это не похоже на проблему ОС, а проблема с текстовым редактором. Вы использовали Notepad ++ для отображения содержимого файла в окнах? – ThunderGr
Большое вам спасибо! – Maghio