Автор Тема: Символ EOF в текстовом файле.  (Прочитано 2981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Символ EOF в текстовом файле.
« : 17 Июля 2002, 16:40:30 »
Подскажите пожалуйста, как его игнорировать?
Открываю файл на чтение, поочерёдно считываю строки, но в одной их них, по какой-то глупой ошибке стоит символ 0x1A.
Перл считает, что файл закончился и прекращает обработку.
Редактировать файл нет возможности т.к. 479МБ размер.
Большое спасибо.

  • Гость
Символ EOF в текстовом файле.
« Ответ #1 : 17 Июля 2002, 19:24:12 »
В _текстовом_ файле таких символов быть не должно. А если файл бинарный - binmode(FILE).

Если же файл все таки текстовый, и этот символ там по ошибке, то почему бы его не заменить на пробел? Хотя binmode и в этом случае не помешает.

Оффлайн puh

  • Ни свой, ни чужой
  • Старожил
  • ****
  • Сообщений: 300
  • +0/-0
  • 2
    • Просмотр профиля
Символ EOF в текстовом файле.
« Ответ #2 : 18 Июля 2002, 10:24:26 »
И правда, Evgeny, ты в binmode открываешь? А то иначе Perl может и сам решить, что с него хватит и первых 100 МБ :)
© Винни-Пух

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Символ EOF в текстовом файле.
« Ответ #3 : 18 Июля 2002, 15:20:59 »
Цитировать
И правда, Evgeny, ты в binmode открываешь? А то иначе Perl может и сам решить, что с него хватит и первых 100 МБ

Я думал, что в бинарном режиме ф-ция \'<>\' не работает. Сейчас попробовал - работает. А в чём же тогда смысл текстового режима?

  • Гость
Символ EOF в текстовом файле.
« Ответ #4 : 18 Июля 2002, 18:54:32 »
Под юниксом нет никакой разницы между текстовым и бинарным режимом.
Виндоус по-разному рассматривает, например окнчания строки

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28