|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 20 Dec 2000 22:16:52 To : Vyacheslav Gorbunov Subject : Re: чтение байтов из файла --------------------------------------------------------------------------------
В твоём письме от Wed, 20 Dec 2000 17:28:49 +0300 написано:
VG> люди, такой трабл: не могу прочитать из файла байт 0x1A.
VG> при последовательном чтении с помошью getc() после считывания первого же
VG> байта из файла tell() возвращает не "1", а разность между разером файла и
VG> смещением байта 0xA1 относительно начала файла. при каждом последующем
VG> считывании getc() возврашает нужный байт (т.е. второй, третий и т.д.), а
VG> смещение увеличивается на единичку, но относительно первоначальной
VG> величины. когда очередь доходит до считывания 0x1A (смещение при этом
VG> становится равным размеру файла), то этот байт и все следующие за ним не
VG> читаются - getc() ничего не возвращает.
VG> пробовал читать сразу весь файл функцией read() - та же фигня - считываются
VG> только байты до 0x1A, несмотря на то, что в аргументах смещение задано как
VG> (-s(FILE) - 1).
VG>
VG> это все происходит под w'95.
VG> пробовал на perl for win32 build 306 и на indigo perl 5.6
VG>
VG> что делать?
Проще - вызвать binmode. Умнее - сменить операционку.
--- slrn/0.9.6.3-as (Linux)
* Origin: AKA с подствольным плюсомётом (2:5020/371.32)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/7315462e89479.html, оценка из 5, голосов 10
|