Компьютерная грамотность, помощь и ремонт

Расширение текстового файла: типы и основные аспекты определения принадлежности к программам. Реферат: Текстовые файлы

Текстовые файлы

Для начала разберемся, что такое текстовые файлы и в чем их различие от двоичных файлов. Текстовые файлы являются подмножеством двоичных файлов, но в отличии от двоичных не могут содержать весь набор символов. Вся информация в файле разбивается на строки, ограниченные символам возврат каретки (CR) и перевод строки (LF). Допустимые символы это символы с кодами от 32 до 255, символы с кодами ниже 32 являются управляющими и допустимы только следующие коды:

· 08 (BS) - возврат на шаг

· 09 (TAB) - табуляция

· 0A (LF) - перевод строки

· 0C (FF) – перевод листа

· 0D (CR) – возврат каретки

· 1A (EOF) – конец файла

Такая ситуация сложилась в стародавние время, когда устройством вывода были телетайпы, затем пишущие машинки и потом появились дисплеи. А каналы связи не позволяли передавать двоичные данные, да и сам они были сначала 5 битные, затем 7 битные и только потом таблицу символов расширили до 8 бит, для поддержки национальных языков и для полной совместимости с компьютерами, где основной единицей был байт. Остальные коды использовались или для управления каналом передачи или для управления специальными устройствами.

Паскаль поддерживает работу с такими файлами, через файловую переменную типа TextFile, где основной единицей является строка, состоящая из основных базовых типов (в текстовом виде, разделенных пробелом), наиболее часто это просто строка, как набор символов. В качестве примера напишем программу преобразования из DOS кодировки (OEM) в Windows (ANSI). Техническое задание:

1. Программа должна работать в консольном режиме и получать входные параметры через командную строку.

2. Программа называется Oem2Ansi

3. На вход поступают два параметра, имя исходного файла и имя выходного файла;

4. Имя выходного файла может быть опущено, в этом случае используется имя входного файла, с изменением расширения выходного на.ANS;

5. Если имена не указаны, то должна выводиться справка о синтаксисе команды;

6. ошибки обрабатывать будем в минимальном объеме, коды ошибок выдаются как ErrorLevel и доступны для обработки в.bat файле.

Текстпрограммы Oem2Ansi

program Oem2Ansi; {$APPTYPE CONSOLE} uses Windows, SysUtils; var InFile: TextFile; OutFile: TextFile; InFilename: string; OutFilename: string; S: string; begin if ParamCount = 0 then begin WriteLn("Syntax is: Oem2Ansi Infile "); Halt(1);// Ошибкасинтаксиса end; InFilename:= ParamStr(1); if ParamCount = 2 then OutFileName:= ParamStr(1) else OutFileName:= ChangeFileExt(InFilename, ".ans"); AssignFile(InFile, InFilename);// связываемвходнойфайл AssignFile(OutFile, OutFilename);// ивыходнойфайл try try Reset(InFile);// открываем входной файл Rewrite(OutFile);// создаем выходной файл while not EOF(InFile) do// крутимпоканеконецфайла begin Readln(Infile, S);// читаемстроку if Length(S) > 0// на вход функции можно then// подавать только не пустые строки begin OemToChar(Pchar(S), Pchar(S)); WriteLn(Outfile, S);// записываемстроку end else begin WriteLn(Outfile);// записываем пустую строку end; end; except Halt(2);// любаяошибка // не удалось преобразовать файлы end; finally CloseFile(InFile); CloseFile(OutFile); end; end.

Разберем работу программы по кусочкам. Вначале объявляются две файловые переменные текстового типа и две переменные для имен файлов, а также одна переменная для хранения и обработки строки. Затем анализируются входные параметры, если параметры не указываются, то выводится сообщение об ошибки и программа заканчивается с кодом выхода 1. Обратите внимание на форму процедуру WriteLn, если в параметрах не указывается файловая переменная, то вывод производится на консоль, что удобно для выдачи различных сообщений, данная форма возможна только для консольного приложения и не применима в GUI приложении.

После этого первый параметр копируется в переменную InFilename, если параметров два, то второй параметр копируется в переменную OutFilename, иначе используется имя входного файла и изменяется расширение, на расширение по умолчанию.ANS

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

Первое действие состоит в открытии файлов, входной файл открывается с помощью процедуры Reset -это открытие текстового файла в режиме чтения, а второй с помощью Rewrite – открытие в режиме записи, если файл существует, то он переписывается. Есть еще одна форма открытия текстовых файлов, это функция Append(FileVar), открытие в режиме добавления строк, если файл существует, то курсор позиционируется в конец файла и файл открывается в режиме записи, если файла нет, то он создается. После нее управление передается в блок finally. В случае ошибки управление сначала передается в блок except, а затем в блок finally.

После этого создается цикл чтения сток пока не будет, достигнут конец файла, или физический или будет встречен символ EOF. Функция EOF(FileVar).

Внутри цикла читается строка во временную переменную Readln(Infile, S) и тут принята одна предосторожность, в функцию Oem2Char НЕЛЬЗЯ передавать пустые строки, поэтому производится анализ длины строки, если строка не нулевая, то производится конвертирования и запись ее в выходной файл, процедурой WriteLn(Outfile, S), иначе в файл пишется пустая строка.

По окончанию цикла или в случае ошибки управление поступает в защищенный блок finally, где оба файла закрываются и управление передается операционной системе.

Домашнее задание - переписать в Ansi2Oem для выполнения обратной функции, с тем же техническим заданием, расширение по умолчанию OEM

Для особо желающих сделать GUI версию, с диалогами выбора файлов, с прогресс-бар, с предварительным просмотром первых 10-20 строк входного файла (переключение кнопкой OEM/ANSI), с целью определения направления перекодирования, с остальными наворотами, которые сумеет придумать душа, например пакетная обработка всех файлов из папки.

Принадлежащих тому или иному набору символов). Это символы обычно сгруппированы в строки (англ. lines, rows ). В современных системах строки разделяются разделителями строк , в прошлом же применялось хранение строк в виде записей постоянной или переменной длины (см.: Перфокарта). Иногда конец текстового файла (особенно если в файловой системе не хранится информация о размере файла) также отмечается одним или более специальными знаками, известными как маркеры конца файла .

Текстовой файл может содержать как форматированный , так и неформатированный текст.

Преимущества и недостатки

Преимущества:

  • Универсальность - текстовый файл может быть прочитан (так или иначе) на любой системе или ОС , особенно если речь идёт об однобайтных кодировках вроде ASCII , которые не подвержены проблеме, характерной для других форматов файлов - для них не важна разница в порядке байтов или длине машинного слова на разных платформах .
  • Устойчивость - каждое слово и символ в таком файле самодостаточны и, если случится повреждение байтов в таком файле, то обычно легче восстановить данные и продолжить обработку остального содержимого, в то время как у сжатых или двоичных файлов повреждении нескольких байтов может привести к невозможности восстановить всё содержимое файла. Многие системы управления версиями рассчитаны на текстовые файлы и с двоичными файлами могут работать только как с единым целым.
  • Формат текстового файла крайне прост и его можно изменять текстовым редактором - программой, входящей в комплект практически любой ОС .

Недостатки:

  • У больших несжатых текстовых файлов низкая информационная энтропия - эти файлы занимают больше места, нежели минимально необходимо. Хотя эта избыточность и определяет повышенную устойчивость к сбоям в каналах передачи данных и при получении данных с носителей , например, с магнитной ленты .
  • Некоторые операции с текстовыми файлами неэффективны. Например, если в файле встретится число, вычислительная система до начала операций с ним должна будет перевести его в свой внутренний формат, применив сравнительно сложную процедуру конвертации числа; чтобы перейти на 1000-ю строку, требуется считать 999 строк, идущих до неё; сложно заменить одну строку другой и т. д. Поэтому при работе с большими объёмами данных текстовые файлы применяют только как промежуточный формат, обеспечивающий интероперабельность .

Форматы, основанные на текстовых файлах

В силу своей простоты текстовые файлы нередко используются для хранения служебной информации (например, логов). Текстовый формат служит основой для многих более специализированных форматов (например, .ini , SGML , HTML , XML , TeX , исходных текстов языков программирования).

В текстовом файле текст может храниться как в неформатированном, так и форматированном или размеченном виде (например, Rich Text Format , HTML), где к каждому символу может быть применено форматирование (шрифт, начертание, размер и т. п.).

Расширения имён файлов

Unicode в текстовых файлах

Применение Unicode в текстовых файлах хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является байт (8 бит) , которых для кодирования одного символа из Юникода требуется несколько. В качестве решения применяются несовместимые между собой системы UTF-8 и две версии UTF-16 (UTF-16LE и UTF-16BE с противоположным порядком байтов). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF ), позволяющий распознать формат однозначно. UTF-8 имеет преимущество обратной совместимости с ASCII, однако программная обработка текста в UTF-8 усложняется непостоянным размером символа. Также, тексты в Юникоде отличаются ещё большей избыточностью , нежели 8-битные.

Управляющие символы

Различные операционные системы придерживаются своего представления перевода строки и конца файла. В UNIX перевод строки состоит из одного символа LF (код 10), в Mac OS - из символа CR (код 13), а в DOS и Windows перевод строки кодируется последовательностью двух символов: CR и LF.

Помимо названных, в текстовых файлах применяются такие символы, как табуляция (код 9) и перевод страницы (код 12).

См. также

  • Текст как изображение

Примечания


Wikimedia Foundation . 2010 .

  • Библейские имена
  • Движение за права сексуальных и гендерных меньшинств

Смотреть что такое "Текстовый файл" в других словарях:

    текстовый файл - Файл, содержащий строки написанной информации, которую можно непосредственно вывести на экран дисплея или принтер, используя обычные команды операционной системы. Файлы, создаваемые текстовыми процессорами не являются текстовыми, т.к. содержат… …

    Файл (компьютер) - Файл (англ. file папка, скоросшиватель) концепция в вычислительной технике: сущность, позволяющая получить доступ к какому либо ресурсу вычислительной системы и обладающая рядом признаков: фиксированное имя (последовательность символов, число или … Википедия

    ТЕКСТОВЫЙ ПРОЦЕССОР - (текстовый редактор), компьютерная система, предназначенная для создания и обработки текста. Если система может применяться только для этой цели, тогда она называется специализированным текстовым процессором. Более распространен персональный… … Научно-технический энциклопедический словарь

    файл ASCII - Текстовый файл, содержащий только символы с кодами до 127 (набор символов семибитовой кодировки ASCII). Такой файл не содержит символы национальных алфавитов и символы псевдографики. Тематики информационные технологии … Справочник технического переводчика

    файл определения - Специальный текстовый файл, содержащий директивы, используемые для связывания объектных составляющих программ (или библиотеки) в выполняемый файл. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993]… … Справочник технического переводчика

    файл инициализации - Специальный текстовый файл, используемый при загрузке среды и отдельных программ для начальной установки параметров. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в … Справочник технического переводчика

    Файл - У этого термина существуют и другие значения, см. Файл (значения). Файл (англ. file) блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности… … Википедия

    файл - сущ., м., употр. сравн. часто Морфология: (нет) чего? файла, нет? файлу, (вижу) что? файл, чем? файлом, о чём? о файле; мн. что? файлы, (нет) чего? файлов, чем? файлам, (вижу) что? файлы, чем? файлами, о чём? о файлах 1. Файлом называется массив… … Толковый словарь Дмитриева

    Файл конфигурации - или конфигурационный файл используется для хранения настроек компьютерных программ, в том числе и операционных систем. Как правило, конфигурационные файлы имеют текстовый формат и могут быть прочитаны и отредактированы пользователем программы.… … Википедия

    файл со словами, разделенными для переноса - Файл, содержащий текстовый документ, в словах которого расставлены переносы с помощью специальной функции расстановки. Тематики информационные технологии в целом EN hyphenation file … Справочник технического переводчика

Книги

  • Портфолио первоклассника. Программа внеурочной деятельности. Методическое пособие (+CD) , Умнова Марина Сергеевна , Данная рабочая программа предназначена для организации работы с портфолио обучающихся 1 класса в рамках внеурочной деятельности. Программа разработана и составлена с учетом Федерального… Категория: Учебно-воспитательная работа в школе Серия: Классное руководство Издатель:

Подготавливая на компьютере текстовые документы, вы не могли не обратить внимание на большое количество форматов текстовых файлов. Давайте попробуем разобраться в этом изобилии форматов и посмотрим, для чего каждый из них предназначен.

TXT

Данный формат появился вместе с первым компьютером. В *.txt-файле содержится только текстовая информация и ничего больше – данные о форматировании, шрифтах, картинках там сохранить не получится. Формат является наиболее универсальным – он может открыться на всех устройствах с помощью любого приложения.

RTF

Расширенный текстовый формат (Rich Text Format) был разработан компанией Microsoft как универсальный кросс-платформенный формат для хранения текстовой информации. Сохраняет данные форматирования, позволяет производить вставку дополнительных объектов:

  • Формул;
  • Таблиц;
  • Сносок и др.

Основная «фишка» rtf-формата – использование специальных «управляющих» слов, выделенных спецсимволами, что приводит к значительному увеличению объема файла.

DOC

Формат *.doc также разработан корпорацией Microsoft и использовался в текстовом редакторе . Если быть точным, то doc-файлы на самом деле бинарные, их можно открыть в большинстве современных текстовых редакторов. Имеют возможности сохранения форматирования, стилевого оформления, вложения картинок и других объектов в текст, а также поддержку гиперссылок.

DOCX

Усовершенствованный и лицензированный формат от Microsoft, появившийся впервые с пакетом Office 2007. Представляет собой следующий этап формата *.doc.

HTML

Достаточно популярны сейчас форматы, основанные на Hyper Text Markup Language (HTML) – HTM, CHM, MHT и др. Язык HTML был разработан специально для создания веб-страниц, но благодаря своей универсальности, удобству и небольшому размеру стал широко использоваться для хранения текстовых данных. Любой HTML-документ можно прочитать с помощью стандартных инструментов операционной системы, без использования сторонних программ.

PDF

Формат разработан компанией Adobe специально для нужд полиграфии. Впоследствии пользователи оценили удобство использования pdf-файлов, и этот формат стал стандартом для обмена документами.

ODT

Текстовые файлы

Текстовые файлы предназначены для хранения текстовой информации. Именно в таких файлах хранятся, например, исходные тексты программ. Компоненты текстовых файлов могут иметь переменную длину, что существенно влияет на характер работы с ними. Доступ к каждой строке текстового файла Паскаля возможен лишь последовательно, начиная с первой. К текстовым файлам применимы процедуры assign, reset, rewrite, read, write и функция eof. При создании текстового файла в конце каждой записи (строки) ставится специальный признак EOLN(end of line – конец строки). Для определения достижения конца строки существует одноименная логическая функция EOLN(<имя_ф_переменной>), которая принимает значение true, если конец строки достигнут.

Кроме процедур read и write при работе с текстовыми файлами используются их разновидности readln и writeln. Отличие заключается в том, что процедура writeln после записи заданного списка записывает в файл специальный маркер конца строки. Этот признак воспринимается как переход к новой строке. Процедура readln после считывания заданного списка ищет в файле следующий признак конца строки и подготавливается к чтению с начала следующей строки.

Пример решения задачи с файлами

Пусть нам необходимо сформировать текстовый файл, а затем переписать из данного файла во второй только те строки, которые начинаются с буквы «А» или «а».

Решение: нам понадобятся две файловые переменные f1 и f2, поскольку оба файла текстовые, то тип переменных будет text. Задача разбивается на два этапа: первый – формирование первого файла; второй – чтение первого файла и формирование второго, затем вывод на экран содержимого второго файла.

Program primer;

Var f1,f2:text;

I,n: integer;

S: string;

Begin

{формируем первый файл}

Assign(f1, ‘file1.txt’); {устанавливаем связь файловой переменной с физическим файлом на диске}

Rewrite(f1); {открываем файл для записи}

Readln(n) {определим количество вводимых строк}

for i:=1 to n do

begin

readln(s); {вводим с клавиатуры строки}

writeln(f1,s); {записываем последовательно строки в файл}

end;

close(f1); {заканчиваем работу с первым файлом, теперь на диске существует файл с именем file1.txt, содержащий введенные нами строки. На этом программу можно закончить, работу с файлом можно продолжить в другой программе, в другое время, но мы продолжим}

{часть вторая: чтение из первого файла и формирование второго}

Reset(f1); {открываем первый файл для чтения}

Assign(f2, ‘file2.txt’); {устанавливаем связь второй файловой переменной с физическим файлом}

Rewrite(f2); {открываем второй файл для записи}

{Дальше необходимо последовательно считывать строки из первого файла, проверять выполнение условия и записывать нужные строки во второй файл. Для чтения из текстового файла рекомендуется использовать цикл по условию «пока не конец файла»}

While not eof(f1) do

Begin

Readln(f1,s);{считываем очередную строку из первого файла}

If (s=’A’) or (s=’a’) then

Writeln(f2,s); {записываем во второй файл строки, удовлетворяющие условию}

End;

Close(f1,f2); {заканчиваем работу с файлами}

{часть третья: выводим на экран второй файл}

Writeln;

Writeln(‘Второй файл содержит строки:’);

Reset(f2); {открываем второй файл для чтения}

While not eof(f2) do {пока не конец второго файла}

Begin

Readln(f2,s);{считываем очередную строку из второго файла}

Writeln(s); {выводим строку на экран}

End;

End.

Задача 1: Дан текстовый файл. Посчитать количество строк в файле.

  1. Открыть файл для чтения;
  2. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), насчитывая на каждом шаге считывания значение переменной-счетчика k;
  3. Вывести на экран значение переменной-счетчика;
  4. Закрыть файл.

program z1;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

k:=0;

while not eof(f) do begin

readln(f,s); k:=k+1;end;

writeln("k=",k);

close(f);

end.

Задача 2: Дан текстовый файл. Напечатать все его строки, начинающиеся с символа «Т».

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: первый символ равен «Т», и если да, то вывести эту строку на экран;
  4. Закрыть файл.

program z2;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if s=’T’ then writeln(s);

end;

close(f);

end.

Задача 3: Дан текстовый файл. Напечатать все его строки, содержащие более 30 символов.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: длина строки больше 30, и если да, то вывести эту строку на экран;
  4. Закрыть файл.

program z3;

var k:integer;

s:string;

f:text;

begin

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if length(s)>=30 then writeln(s);

end;

close(f);

end.

Задача 4: Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas;
  2. Открыть файл для чтения;
  3. Задать фрагмент текста для поиска (s1);
  4. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), проверяя на каждом шаге, удовлетворяет ли строка условию: в ней содержится в качестве фрагмента заданный текст (s1), и если да, то вывести эту строку на экран;
  5. Закрыть файл.

program z4;

var k:integer;

s1,s:string;

f:text;

begin

writeln(‘введи фрагмент текста ’);

readln(s1);

assign(f,"input.pas");

reset(f);

while not eof(f) do begin

readln(f,s);

if pos(s1,s)<>0 then writeln(s);

end;

close(f);

end.

Задача 5: Дан текстовый файл. Напечатать 5 строку в новый текстовый файл, а остальные на экран.

Составим алгоритм решения задачи (Создать текстовый файл данных – input.pas до начала решения задачи):

  1. Связать логический файл f с физическим файлом input.pas, а логический файл g с физическим файлом output.pas;
  2. Открыть файл для чтения;
  3. Организовать считывание данных из файла построчно (readln(f,s), где s-переменная типа string), насчитывая на каждом шаге считывания значение переменной-счетчика k, и, проверяя на каждом шаге, равно ли значение счетчика 5, и если да, то вывести эту строку в файл g, иначе вывести на экран;
  4. Закрыть файл.

program z5;

var k:integer;

s:string;

f,g:text;

begin

assign(f,"input.pas");

reset(f);

assign(g,"output.pas");

rewrite(g);

k:=0;

while not eof(f) do begin

readln(f,s);k:=k+1;

if k=5 then writeln(g,s);

end;

close(f); close(f);

После закрытия файла связь файловой переменной с физическим файлом не нарушается, и файл повторно может открываться без дополнительного вызова процедуры Assign.

Процедура close закрывает открытый файл

close (файловая_переменная);

Закрытие файла гарантирует сохранность и полноту заполнения физического файла.

Если программа прервалась из-за ошибки до закрытия файла, то он все-таки будет создан на носителе, но содержимое последнего буфера не будет перенесено в файл.

То же самое случится и в том случае, если вообще забыть поставить в программу вызова Close.


Текстовый файл это совокупность символьных строк переменной длины.

Строки состоят из символов в коде ASCII для MS-DOS и ANSI для Windows.

Его можно создавать и редактировать с помощью любого текстового редактора кода Dеlphi, Lazarus или Word, WorPad или NotePad.

(При создании в Delphi в главном меню следует выбрать File ÞNew ÞOther, при этом открывается диалоговое окно New Items. Во вкладыше New следует выделить пиктограмму Text и нажать клавишу Оk

При создании в Lazarus в главном меню следует выбрать Файл ÞСоздать, при этом открывается диалоговое окно Создать... . В диалоговом огне следует выбрать МодульÞТекст и нажать клавишу Оk).

Текстовые файлы имеют расширение *.txt.

Схематическое изображение текстового файла:

Управляющие символы #13 и #10 (возвращение каретки – ввод следующих символов начнется из первой позиции, и перевод строки – ввод начнется с пустой строки.).

Символы #13 и #10 – маркер конца строки .

Пустая строка содержит только символы #13 и #10 .

В конце файла стоит признак конца файла – управляющий символ #26 (маркер конца файла ).

Пустой текстовый файл содержит один символ #26.

При записи чисел, строк и логических значений они превращаются в символьный (текстовый) вид.

При чтении чисел и строк они автоматически превращаются из текстового представления в машинное.

Для работы с текстовым файлом необходимо определить файловую переменную:

Если файл открыт для записи (процедура Rewrite) – разрешена только запись данных.

Если файл открыт для чтения (процедура Reset) – разрешено только чтение.

Считывание данных из текстового файла осуществляется процедурами Read и Readln:

Read

Readln (файловая_переменная, список_ввода);

список_ввода – перечень переменных символьного, строкового, целого и действительного типов.

Сложные структурированные типы (такие, как массивы, множества, записи и др.) могут быть введенны только по элементам (по полям записей).

После считывания определенного компонента файловый указатель сдвигается к следующему компоненту.


Если выполняется считывание файла в переменную типа char, то процедура Read считывает один символ. Когда достигнут конец строки, результатом считывания являются символы конца строки, #13 и #10, а когда достигнут конец файла, считывается символ конца файла, #26.

Во время считывания значения в переменную целого или действительного типа сначала выделяется подстрока, в которой удалены все ведущие пробелы, символы табуляции (#9) и маркеры конца строки.

Считывания прекращается при обнаружении первого пробела, маркера конца строки или символа табуляции.

Считанная строка цифровых символов превращается в число, которое присваивается соответствующей переменной.

Следующая операция считывания начинается с пробела (маркера конца строки, символа табуляции и т.п.).

Если выделенная подстрока содержит нецифровые символы, то возникает ошибка ввода-вывода.

Во время считывания данных в переменную типа string процедура Read считывает все символы до маркера конца строки.

Если количество символов строки в файле больше количества, указанного в объявлении строковой переменной, то лишние символы не считываются.

Если процедурой Read определенную строку прочитали полностью, то во время следующего ее вызова считывание начинается с маркера конца строки, а значит, будет считана строка нулевой длины.

Процедура Read не переводит файловый указатель на следующую строку символов и потому ее нельзя использовать для считывания последовательности строк.

Процедура Readln считывает все символы строки с символом его конца включительно, что обеспечивает перевод файлового указателя на новую строку.

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

Применяя процедуру Readln для считывания чисел, следует учитывать, что после считывания последней цифры числа все символы текста, которые остались до маркера конца строки, будут пропущены, и доступным станет первый символ следующей строки текстового файла.


Запись в текстовый файл осуществляется с помощью процедур Write и Writeln :

Write

Writeln (файловая_переменная, список_вывода);

Здесь файловая_переменная – переменная типа text;

список_вывода – перечень переменных или выражений символьного, строкового, целого, действительного или логического типа.

Различие между процедурами Write и Writeln заключается в том, что строка, которая записывается в файл с помощью процедуры Writeln, завершается символом конца строки.

Если процедура Writeln используется без списка вывода, то в файл записывается пустая строка.

Для считывания из текстового файла всех данных нужно использовать функцию Eof, которая определяет, достигнут ли конец файла. Синтаксис вызова этой функции.

Eof (файловая_переменная);

Она возвращает значение булевого типа. Если файловый указатель находится за последним элементом файла, или если файл пустой функция возвращает значение True. Иначе она возвращает значение False.

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!