Re[2]: Лишний символ 0x0D
От: amantz  
Дата: 10.08.06 17:52
Оценка:
Здравствуйте, Какая разница, Вы писали:

КР>Здравствуйте, amantz, Вы писали:


A>>Здравствуйте!


A>>У меня следующая проблема.


A>>Стоит задача: попарно переставить байты в файле. Очень просто! но...


A>>Я считываю символ из файла c помощью getc, и потом записываю в новый файл через putc. Но, если таковым символом является 0х0D (возможно, даже без 0х0А), то 0х0D у меня записывается дважды.


A>>Есть ли стандартный способ избежания этой неприятности?


A>>Заранее благодарен!


КР>А если открыть файл как бинарный

КР>Узнать его длину
КР>Зарезервировать буфер под этот размер
КР>прочитать файл в буфер
КР>переставить соседние байты
КР>записать буфер в выходной файл
КР>закрыть файлы
--------
Спасибо за помощь!

Я, в общем-то, и делаю через буфер... разве что не открываю исходный файл в бинарном режиме...
Но я наконец понял вот что: дело именно в 0x0A, т.е. когда я записываю из буфера символ 0х0А, перед ним всегда записывается 0х0D... буду в бинарном пробовать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.