В основном строка выглядит так: «номер номера текстового текста» с разделительными пространствами. Номера в порядке, потому что readln() просто разделяет их после пробела, но он читает 3 текста как один. Как я могу читать их в отдельные строки?Паскаль, читающий строку текста в отдельные строки
1
A
ответ
1
Если кто-то сталкивается с этой проблемой, вот очень простое решение, которое я только что нашел: прочитайте все это в строку. Затем pos ('', stringsname), затем скопируйте ('spacepos' + 1, 200), затем удалите (spacepos, 200) из первой строки и voilá.
Возможно, вы использовали ** read() ** вместо readln(). readln() всегда читает до конца строки (также для чисел). К сожалению для вас read() для строки также читается до конца строки (в отличие от чисел). Таким образом, единственным решением для вас было бы разделить текст после его чтения в коде. – Rik
Вы можете использовать функцию [sscanf] (http://www.freepascal.org/docs-html/rtl/sysutils/sscanf.html) из модуля SysUtils. Просто прочитайте целую строку, используя 'ReadLn', а затем разделите ее на переменные с помощью' sscanf'. – Abelisto
Больше, чем Pascal, это использовать TStringList.delimtedtext –