Чтение данных из файла. Чтение чисел.
Чтение из файла выполняется при помощи инструкций read и readln, которые в общем виде записываются следующим образом:
read(ФайловаяПеременная, СписокПеременных); readin(ФайловаяПеременная, СписокПеременных);
Где:
- ФайловаяПеременная – переменная типа TextFile;
- СписокПеременных – имена переменных, разделенные запятыми.
Чтение чисел
Следует понимать, что в текстовом файле находятся не числа, а их изображения. Действие, выполняемое инструкциями read или readln, фактически состоит из двух: сначала из файла читаются символы до появления разделителя (пробела или конца строки), затем прочитанные символы, являющиеся изображением числа, преобразуются в число, и полученное значение присваивается переменной, имя которой указано в качестве параметра инструкции read или readln.
Например, если текстовый файл а:\data.txt содержит следующие строки:
23 15 45 28 56 71
То в результате выполнения инструкций:
AssignFile(f, 'a:\data.txt'); Reset(f); // открыть для чтения read(f, а); read(f, b, с); read(f, d);
Значения переменных будут следующими:
а = 23, b = 15, с = 45, d = 28.
Отличие инструкции readln от read состоит в том, что после считывания из файла очередного числа и присвоения полученного значения переменной, имя которой стоит последним в списке параметров инструкции readln, указатель чтения из файла автоматически перемещается в начало следующей строки файла, даже в том случае, если за прочитанным числом есть еще числа.
Поэтому в результате выполнения инструкций:
AssignFile(f,'a:\data.txt'); Reset(f); readin(f, a); readin(f, b, c); readin(f, d);
Значения переменных будут следующими:
а = 23, b = 45, с = 28, d = 56.
Если при чтении значения численной переменной в файле вместо изображения числа будет какая-то другая последовательность символов, то произойдет ошибка.