Практика программирования (Бейсик, Си, Паскаль)



     Купить вкладыш полиэтиленовый. | погода в турции в мае |     

Основные типы файлов в Паскале


Подобно BASIC, в Паскале поддерживаются такие же три типа файлов -текстовые (строковые), типизированные (записеориентированные) и нетипизированные (двоичные).

Текстовые (строковые) файлы в Паскале

Текстовые файлы в Паскале относятся к дисковым файлам, каждая порция данных в которых представлена строкой переменной длины, содержащей не более 255 символов и завершающейся управляющими кодами ODOA. В отличие от QBasic, отдельные значения в файловой строке здесь не заключаются в кавычки и не разделяются запятыми. Единственным разделителем нескольких значений в пределах строки выступают пробелы, предусмотренные программистом при формировании содержимого текстового файла.

Для инициализации текстового файла необходимо объявить переменную соответствующего типа (f1:text;), связать ее с именем дискового файла (assign(f1, 'pas_txt') ;) и открыть для записи (rewrite(fl);), дозаписи (append(f1);) или для чтения (reset(f1),-). Закрывается текстовый файл Процедурой close (f1);.

Наиболее естественный профаммный способ создания текстового файла заключается в последовательной записи в него тем или иным способом сформированного значения какой-либо переменной типа string по оператору writein. На самом деле, текущую строку текстового файла можно формировать в несколько приемов, записывая туда данные последовательностью операторов write, завершая их оператором writein, который собственно и заносит признак конца строки.

Проще всего из текстового файла читать строку целиком по оператору readin в переменную типа string. Если в одной файловой строке находится несколько числовых значений, разделенных пробелами, то особых проблем при их извлечении не возникает. Требуется только соответствие количества и типов переменных считываемым значениям. Если из текущей строки текстового файла по оператору readin считывается меньшее количество значений, то следующий оператор readin будет извлекать данные с начала следующей строки, т. е. хвост предыдущей строки будет потерян. Если количество считываемых данных превышает длину текущей строки файла, то недостающие данные извлекаются из следующей строки. Однако, если числовая информация в текстовом файле перемежается со строковой, то вы можете столкнуться с описанным выше нежелательным поведением программы.




Содержание  Назад  Вперед