как читать файл, если EOL char - LF - PullRequest
1 голос
/ 30 марта 2020

Я получаю файл от inte rnet, и строки разделяются символом 0x0D. Я отображаю его с помощью этого инструмента

https://www.fileformat.info/tool/hexdump.htm

Когда я читаю этот файл в Rexx, используя "linein ()", весь файл попадает в одну строку. Очевидно, что linein () прекрасно работает, когда файл имеет 0x0D0A в качестве символа конца строки.

Как указать Rexx разделение строк, используя 0x0D char вместо 0x0D0A?

1 Ответ

1 голос
/ 30 марта 2020

Помимо получения файла, отправленного вам с соответствующими маркерами записи CRLF для Windows вместо LF, используемого в Unix -подобных системах, есть несколько способов разделения данных, но ни один из них не будет считывать файл. запись за раз, но будет извлекать каждую запись из длинной строки, считанной. 1 - Используйте WORDPOS, чтобы найти позицию LF, и SUBSTR, чтобы удалить эту запись. 2 - Используйте PARSE, чтобы разделить данные в позиции LF

Один из способов чтения по одной записи за раз - это использовать CHARIN для чтения байта за раз, пока он не встретит LF.

...