Шрифт:
У столь популярных временных файлов есть скрытый недостаток. Вы должны следить за тем, чтобы приложения выбирали уникальное имя для временного файла. Если это условие не соблюдается, могут возникнуть проблемы. Поскольку ОС Linux — многозадачная система, другая программа может выбрать то же самое имя, и обе будут мешать друг другу.
Уникальное имя файла генерируется с помощью функции
Функция
Если, временный файл предполагается использовать немедленно, вы можете одновременно назвать его и открыть с помощью функции
Функция tmpfile возвращает указатель потока, ссылающийся на уникальный временный файл. Файл открыт для чтения и записи (с помощью
В случае возникновения ошибки
Давайте посмотрим эти две функции в действии:
Когда вы откомпилируете и выполните программу tmpnam.с, то увидите уникальное имя файла, сгенерированное функцией
Как это работает
Программа вызывает функцию
В некоторых версиях UNIX предлагается другой способ генерации имен временных файлов — с помощью функций
Функция mktemp создает уникальное имя файла на основе заданного шаблона