|
|
|||
|
wm-help.net -> Электронная библиотека -> Pascal -> Pascal. Курс лекций. -> 31. Текстовые файлы31. Текстовые файлы
31. Текстовые файлы
Особое место в языке ПАСКАЛЬ занимают текстовые файлы, компоненты которых имеют символьный тип. Для описания текстовых файлов в языке определен стандартный тип Тext:
var TF1, TF2: Text;
Текстовые файлы представляют собой последовательность строк, а строки - последовательность символов. Строки имеют переменную длину, каждая строка завершается признаком конца строки. С признаком конца строки связана функция EOLn(var T:Text):Boolean, где Т - имя текстового файла. Эта функция принимает значение TRUE, если достигнут конец строки, и значение FALSE, если конец строки не достигнут. Для операций над текстовыми файлами, кроме перечисленных, опреде- лены также операторы обращения к процедурам:
ReadLn(T) - пропускает строку до начала следующей;
WriteLn(T) - завершает строку файла, в которую производится за- пись, признаком конца строки и переходит к началу следующей. Для работы с текстовыми файлами введена расширенная форма операто- ров ввода и вывода. Оператор
Read(T,X1,X2,...XK)
эквивалентен группе операторов
begin Read(T,X1); Read(T,X2); ........... Read(T,XK) end;
Здесь Т - текстовый файл, а переменные Х1, Х2,...ХК могут быть ли- бо переменными целого, действительного или символьного типа, либо строкой. При чтении значений переменных из файла они преобразуются из текстового представления в машинное. Оператор
Write(T,X1,X2,...XK)
эквивалентен группе операторов
begin Write(T,X1); Write(T,X2); ........... Write(T,XK) end;
Здесь Т - также текстовый файл, но переменные Х1,Х2,...ХК могут быть целого, действительного, символьного, логического типа или стро- кой. При записи значений переменных в файл они преобразуются из внут- реннего представления в текстовый. К текстовым файлам относятся стандартные файлы INPUT, OUTPUT. Рассмотренные ранее операторы ввода - вывода являются частным слу- чаем операторов обмена с текстовыми файлами, когда используются стан- дартные файлы ввода - вывода INPUT, OUTPUT. Работа с этими файлами имеет особенности: -имена этих файлов в списках ввода - вывода не указываются; -применение процедур Reset, Rewrite и Close к стандартным файлам ввода - вывода запрещено; -для работы с файлами INPUT, OUTPUT введена разновидность функции EOLn без параметров. TURBO PASCAL вводит дополнительные процедуры и функции, применимые только к текстовым файлам, это SetTextBuf, Append, Flush, SeekEOLn, SeekEOF. Процедура SetTextBuf( var f: Text; var Buf; BufSize: Word ) служит для увеличения или уменьшения буфера ввода - вывода текстового файла f. Значение размера буфера для текстовых файлов по умолчанию равно 128 байтам. Увеличение размера буфера сокращает количество обращений к диску. Рекомендуется изменять разиер буфера до открытия файла. Бу- фер файла начнется с первого байта переменной Buf. Размер буфера за- дается в необязательном параметре BufSize, а если этот параметр от- сутствует, размер буфера определяется длиной переменной Buf. Процедура Append( var f: Text ) служит для специального открытия выходных файлов. Она применима к уже существующим физическим файлам и открывает из для дозаписи в конец файла. Процедура Flush( var f: Text ) применяется к открытым выходным файлам. Она принудительно записывает данные из буфера в файл незави- симо от степени его заполнения. Функция SeekEOLn( var f: Text ): Boolean возвращает значение True, если до конца строки остались только пробелы. Функция SeekEOF( var f: Text ): Boolean возвращает значение True, если до конца файла остались строки, заполненные пробелами. |
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.058 |