Ада-95. Компилятор GNAT


Искючения ввода/вывода - часть 2


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

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

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

with Ada.Text_IO; use Ada.Text_IO;

function File_Exists(Name : String) return Boolean is

The_File : Ada.Text_IO.File_Type;

begin

Open(The_File, In_File, Name);

-- файл открылся, закрываем его и возвращаем "истину" Close(The_File); return True;

exception

when Name_Error => -- файл не окрылся, значит его нет return False; end File_Exists;

Эта функция пытается открыть файл и если при этом не возникает исключения Name_Error, то это значит что файл существует, и функция возвращает значение "истина" (если файл уже открыт, то генерируется исключение Use_Error).




- Начало -  - Назад -  - Вперед -



Книжный магазин