Определение 15.47. Функция printout
(printout <логическое-имя> <выражение>+)
Функция printout принимает и выводит на устройство, ассоциированное с заданным логическим именем, любое число параметров. Каждое выражение вычисляется и отправляется на соответствующее устройство без пропусков между ними. Символ crlf служит для перевода каретки на следующую строку. Символы tab, vtab, и ff позволяют осуществлять табуляцию,вертикальную табуляцию и переход на новую страницу. Поведение функции printout при указании этих специальных символов может меняться в зависимости от используемой операционной системы. Функция read позволяет считывать очередную порцию данных с устройства, ассоциированного с заданным логическим именем.
Определение 15.48. Функция read
(read [<логическое-имя>])
Параметр <логическое-имя> является необязательным. Если он определен, функция попытается считывать информацию из присоединенного к логическому имени файла. Если параметр <логическое-имя> равняется t или не определен, функция будет считывать данные из устройства, связанного с stdin. Для отделения друг от друга элементов считываемых данных служат разделители, описанные в гл. 4. Функция read всегда возвращает значение одного из примитивных типов данных. Пробелы, символы возврата каретки и табуляция воспринимаются только как разделители и не содержатся в полученном результате (если они не заключены в двойные кавычки как часть строки). Если в процессе чтения был достигнут конец файла, функция вернет значение eof. Если при чтении произошли ошибки, будет возвращено значение "*** read error ***".
Функция readline подобна функции read. Однако, в отличие от нее, функция readline позволяет при каждом использовании получать строку целиком. Другими словами, для функции readline разделителями являются только символ возврата каретки, точка с запятой или символ конца файла (eof). Пробелы, табуляция и другие разделители воспринимаются функцией как часть строки. Результатом работы функции readline является строка.