чтение из текстового файла с использованием пролога SWI - PullRequest
2 голосов
/ 29 мая 2019

Я написал программу, которая читает входные данные из текстового файла:

read_input(File, N, K, C) :-
    open(File, read, Stream),
    read_line(Stream, [N, K]),
    read_line(Stream, C).

read_line(Stream, L) :-
    read_line_to_codes(Stream, Line),
    atom_codes(Atom, Line),
    atomic_list_concat(Atoms, ' ', Atom),
    maplist(atom_number, Atoms, L).

Это то, что написано в текстовом файле с именем test, который находится в том же каталоге, что и моя программа:

10 3 
1 3 1 3 1 3 3 2 2 1

Итак, используя этот запрос:

read_input('c1.txt', N, K, C).

Я ожидаю, что результат будет:

 N = 10,
  K = 3,
  C = [1, 3, 1, 3, 1, 3, 3, 2, 2|...].

Однако результатом этого является false. Я также попытался указать весь путь вместо 'test.txt', и он все еще false. Если я указал неправильный путь или неверное имя txt, выдается сообщение об ошибке он не может найти файл, поэтому предположим, что он правильно обращается к файлу txt. До сих пор он не работает и выдает false. Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...