Работа с файламиЧтение данных из файла и запись данных в файл на Pascal
Для того, чтобы организовать ввод данных из файла необходимо:
1 |
Завести преременную типа текст. |
Var
...
f1: text;
...
|
2 |
Связать эту текстовую переменную с файлом из которого будет производиться чтение, например с input.txt. |
Begin
...
Assign(f1,'input.txt');
...
|
3 |
Открыть файл для чтения.
Файл должен существовать и находится в той же папке, где сохранён файл с программой. Иначе будет сгенерирована ошибка:
» Ошибка ввода/вывода 2: Не удается найти указанный файл для PascalABC
exited with exitcode=2 для Free Pascal
|
Reset(f1);
|
4 |
Теперь можно считывать данные из файла input.txt. Для этого в команды Read и ReadLN необходимо добавить имя файловой переменной.
Если в файле данные записаны в одной строке, через пробел, то используется процедура Read столько раз, сколько чисел нужно прочитать.
Если же строк несколько, то когда доходим до символа стоящего в конце строки, используется ReadLn. В результате чего будет считано последнее число строки и курсор переместится на новую строку.
|
// ВМЕСТО
// Read(a);
// ReadLN(b);
// ПИШЕМ:
Read(f1,a);
ReadLN(f1,b);
|
5 |
После окончания работы с файлам, он должен быть закрыт!
Процедура Close освобождает переменную и её можно использовать в других целях, например для вывода данных.
|
Close(f1);
...
end.
|
Для того, чтобы организовать вывод данных в файла необходимо:
1 |
Завести преременную типа текст. |
Var
...
f2: text;
...
|
2 |
Связать эту текстовую переменную с файлом в который будет производиться запись, например с output.txt. |
Begin
...
Assign(f2,'output.txt');
...
|
3 |
Открыть файл для записи. |
Rewrite(f2); |
4 |
Теперь можно записывать данные в файл output.txt. Для этого в команды Write и WriteLN необходимо добавить имя файловой переменной.
Процедура Write записывает данные в одну строку.
Процедура WriteLn после записи данных, осуществляет переход на новую строку.
|
// ВМЕСТО
// Write(a);
// WriteLN(b);
// ПИШЕМ:
Write(f2,a);
WriteLN(f2,b);
|
5 |
После окончания работы с файлам, он должен быть закрыт!
|
Close(f2);
...
end. |
|