2015-04-17 1 views
1

В основном строка выглядит так: «номер номера текстового текста» с разделительными пространствами. Номера в порядке, потому что readln() просто разделяет их после пробела, но он читает 3 текста как один. Как я могу читать их в отдельные строки?Паскаль, читающий строку текста в отдельные строки

+0

Возможно, вы использовали ** read() ** вместо readln(). readln() всегда читает до конца строки (также для чисел). К сожалению для вас read() для строки также читается до конца строки (в отличие от чисел). Таким образом, единственным решением для вас было бы разделить текст после его чтения в коде. – Rik

+3

Вы можете использовать функцию [sscanf] (http://www.freepascal.org/docs-html/rtl/sysutils/sscanf.html) из модуля SysUtils. Просто прочитайте целую строку, используя 'ReadLn', а затем разделите ее на переменные с помощью' sscanf'. – Abelisto

+0

Больше, чем Pascal, это использовать TStringList.delimtedtext –

ответ

1

Если кто-то сталкивается с этой проблемой, вот очень простое решение, которое я только что нашел: прочитайте все это в строку. Затем pos ('', stringsname), затем скопируйте ('spacepos' + 1, 200), затем удалите (spacepos, 200) из первой строки и voilá.