Чтение чисел
Следует
понимать, что в текстовом файле находятся не числа, а их изображения. Действие,
выполняемое инструкциями read или readin, фактически состоит из двух: сначала из
файла читаются символы до появления разделителя (пробела или конца строки),
затем прочитанные символы, являющиеся изображением числа, преобразуются в число,
и полученное значение присваивается переменной, имя которой указано в качестве
параметра инструкции read ИЛИ readin.
Например, если
текстовый файл а: \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.
Отличие
инструкции readin от read состоит в том, что после считывания из файла
очередного числа и присвоения полученного значения переменной, имя которой стоит
последним в списке параметров инструкции readin, указатель чтения из файла
автоматически перемещается в начало следующей строки файла, даже в том случае,
если за прочитанным числом есть еще числа.
Поэтому в
результате выполнения инструкций
AssignFile(f,'a:\data.txt');
Reset(f); readin(f, a); readin(f, b, c); readin(f, d);
значения переменных будут
следующими: а = 23, b = 45, с = 28, d = 56.
Если при чтении
значения численной переменной в файле вместо изображения числа будет какая-то
другая последовательность символов, то произойдет ошибка.