ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
