Чтение
чисел
Следует понимать, что
в текстовом файле находятся не числа, а их изображения. Действие, выполняемое
инструкциями 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.
Если при чтении значения
численной переменной в файле вместо изображения числа будет какая-то другая
последовательность символов, то произойдет ошибка.