Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Особенности обработки текстовых файлов. Понятие файлового указателя. Чтение и запись в текстовые файлы





Особое место в языке ПАСКАЛЬ занимают текстовые файлы, компоненты

которых имеют символьный тип. Для описания текстовых файлов в языке

определен стандартный тип Тext:

 

var TF1, TF2: Text;

 

Текстовые файлы представляют собой последовательность строк, а

строки - последовательность символов. Строки имеют переменную длину,

каждая строка завершается признаком конца строки.

С признаком конца строки связана функция EOLn(var T:Text):Boolean,

где Т - имя текстового файла. Эта функция принимает значение TRUE,

если достигнут конец строки, и значение FALSE, если конец строки не

достигнут.

Работа с этими файлами имеет особенности:

-имена этих файлов в списках ввода - вывода не указываются;

-применение процедур 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,

если до конца файла остались строки, заполненные пробелами.

 

Файловый указатель – это переменная, которая содержит адрес другой переменной (байта памяти). В ТР имеется два вида указателей: указатель на объект некоторого типа (типизированный) и указатель, не связанный с типом. Описание указателей. Для объявления типизированных указателей используется значок ^, который помещается перед соответствующим типом: Type T = ^T1; Var A:T; где: T – имя типа; T 1 - базовый тип (любой в т.ч. указатель); ^ - указатель. Примеры: Var a:byte; {выделение памяти для переменной где хранится ее значение} a;^byte; {выделение памяти для переменной где хранится ее адрес} Var p1:^integer; p2, p3:^real; Для объявления переменных не связывая их, с каким либо типом данных можно использовать указатель без типа (pointer). Var p:pointer; где: pointer - не типизированный указатель, который занимает в памяти 4 байт (2-байта сегмент, 2байта смещение.).

Описание файловой переменной

Var <перем.>:File of Text;

 

Назначение имени файлов

Assign (<файловая перем.>, <имя файла>:);

Открытие файла

на чтение Reset (<файловая перем.>);

на запись Rewrite (<файловая перем.>);

на добавление Append (<файловая перем.>);

Операция с открытым файлом:

запись в файл

Write(<файловая перем.>, <параметр 1>..(<параметр n>);

WriteLn(<файловая перем.>, <параметр 1>..(<параметр n>);

чтение

Read(<файловая перем.>, <параметр 1>..(<параметр n>);

проверка окончания файла EOF (<файловая перем.>);

Закрытие файла Close(<файловая перем.>);

 

 

Date: 2015-12-12; view: 509; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию