ВУЗ:
Составители:
Рубрика:
85
Текстовый файл - это совокупность строк переменной длины. Переменная длина строк
определяет наличие маркеров, которые отмечают конец строки. В качестве маркеров
используются два управляющих символа "Перевод строки" и "Возврат каретки", их
десятичные коды: #10, #13. Названия управляющих символов "Перевод строки"(LF - Line
Feed) и "Возврат каретки"(CR - Carriage Return) взяты по аналогии работы с пишущей
машинкой.
Конец строки можно определить с помощью функции EOLn:
EOLn(< ф.п.>);
Для записи данных в файл используются процедуры WRITE и WRITELN:
Write(< ф.п.>, < список вывода стрингов >);
Writeln(< ф.п.>, < список вывода стрингов >).
По предложению WRITE значения данных из списка запишутся в файл подряд без всяких
разделителей. Поэтому программист, используя предложение WRITE, должен позаботиться
о разделителях между данными, если они нужны.
По предложению WRITELN в файле после каждого выведенного стрингового значения
будут записаны признаки конца строки.
Для чтения данных из файла используются процедуры READ и READLN:
Read(< ф.п.>, < список вводимых стрингов >);
Readln(< ф.п.>, < список вводимых стрингов >);
По предложению READ из файла выбирается столько символов, сколько указано в
описании текущего стринга, принадлежащего списку ввода. Выбранная последовательность
символов присваивается текущему стрингу. Эта совокупность операций повторяется для
всех элементов списка ввода. По предложению READLN из файла последовательно
считываются строки и присваиваются стрингам из списков. Если выбранная строка имеет
большее количество символов, чем указано в описании текущего стринга, то она
обрезается до указанной длины, при этом часть информации теряется. Поэтому
необходимо следить за соответствием длин стрингов, записываемых в файл и считываемых
из файла.
Пример:
...
Var
Fio, Otch : string[15];
Name : string[10];
i : integer;
F : text;
Begin
Assign(F, 'St629.DAT'); { файл будет создаваться в текущем каталоге }
{ создание файла или первичная запись данных в файл}
ReWrite(F); { открытие файла для записи }
for i:=1 to 5 do { ограничимся вводом пяти студентов }
begin
Write('Фамилия: '); Readln(Fam);
Write('Имя: '); Readln(Name);
Write('Отчество: '); ReadLn(Otch);
Write(F, Fam, Name, Otch);
end;
close(F);
{ чтение данных из файла и вывод их на экран }
WriteLn(' Фамилия Имя Отчество');
Reset(F); { открытие существующего файла }
for i:=1 to 5 do
begin
Текстовый файл - это совокупность строк переменной длины. Переменная длина строк определяет наличие маркеров, которые отмечают конец строки. В качестве маркеров используются два управляющих символа "Перевод строки" и "Возврат каретки", их десятичные коды: #10, #13. Названия управляющих символов "Перевод строки"(LF - Line Feed) и "Возврат каретки"(CR - Carriage Return) взяты по аналогии работы с пишущей машинкой. Конец строки можно определить с помощью функции EOLn: EOLn(< ф.п.>); Для записи данных в файл используются процедуры WRITE и WRITELN: Write(< ф.п.>, < список вывода стрингов >); Writeln(< ф.п.>, < список вывода стрингов >). По предложению WRITE значения данных из списка запишутся в файл подряд без всяких разделителей. Поэтому программист, используя предложение WRITE, должен позаботиться о разделителях между данными, если они нужны. По предложению WRITELN в файле после каждого выведенного стрингового значения будут записаны признаки конца строки. Для чтения данных из файла используются процедуры READ и READLN: Read(< ф.п.>, < список вводимых стрингов >); Readln(< ф.п.>, < список вводимых стрингов >); По предложению READ из файла выбирается столько символов, сколько указано в описании текущего стринга, принадлежащего списку ввода. Выбранная последовательность символов присваивается текущему стрингу. Эта совокупность операций повторяется для всех элементов списка ввода. По предложению READLN из файла последовательно считываются строки и присваиваются стрингам из списков. Если выбранная строка имеет большее количество символов, чем указано в описании текущего стринга, то она обрезается до указанной длины, при этом часть информации теряется. Поэтому необходимо следить за соответствием длин стрингов, записываемых в файл и считываемых из файла. Пример: ... Var Fio, Otch : string[15]; Name : string[10]; i : integer; F : text; Begin Assign(F, 'St629.DAT'); { файл будет создаваться в текущем каталоге } { создание файла или первичная запись данных в файл} ReWrite(F); { открытие файла для записи } for i:=1 to 5 do { ограничимся вводом пяти студентов } begin Write('Фамилия: '); Readln(Fam); Write('Имя: '); Readln(Name); Write('Отчество: '); ReadLn(Otch); Write(F, Fam, Name, Otch); end; close(F); { чтение данных из файла и вывод их на экран } WriteLn(' Фамилия Имя Отчество'); Reset(F); { открытие существующего файла } for i:=1 to 5 do begin 85
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »