Как читать байты из файла - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь прочитать файл в список байтов в прологе, используя swipl версии 8.0.3.

:- use_module(library(readutil)).

try_read_byte(File):-
    open(File, read, Stream),
    get_byte(Stream, B),
    print(B).

try_read_char(File):-
    open(File, read, Stream),
    get_char(Stream, C),
    print(C).

try_read_char успешно, но когда я вызываю try_read_byte, я получаю ошибка:

ERROR: No permission to read bytes from TEXT stream `<stream>(0x56413a06a2b0)'
ERROR: In:
ERROR:    [9] get_byte(<stream>(0x56413a06a2b0),_9686)
ERROR:    [8] try_read_byte("test.pl") at /home/justin/code/decompile/test.pl:5
ERROR:    [7] <user>

При просмотре исходного кода / документации (https://www.swi-prolog.org/pldoc/man?section=error) кажется, что это что-то вроде ошибки типа, но я не могу выяснить, что делать на основе этого.

...