The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

mktemp ()
  • mktemp (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • mktemp (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • mktemp (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • mktemp (3) ( Solaris man: Библиотечные вызовы )
  • mktemp (3) ( FreeBSD man: Библиотечные вызовы )
  • >> mktemp (3) ( Русские man: Библиотечные вызовы )
  • mktemp (3) ( Linux man: Библиотечные вызовы )
  • mktemp (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    mktemp - создает уникальное временное имя файла  

    СИНТАКСИС

    #include <stdlib.h>
    
    char *mktemp(char *template);
    
     

    ОПИСАНИЕ

    Функция mktemp() создает уникальное временное имя файла по шаблону template. Последние шесть символов template должны быть XXXXXX, и именно они заменяются строкой, которая делает имя файла уникальным. Так как она будет меняться, то template не может быть строковой константой, а должна быть определена как символьный массив.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    Функция mktemp() возвращает NULL при ошибках (template не заканчивается на XXXXXX) или template в другом случае. Если работа завершена нормально, то последние шесть байтов template будут изменены таким образом, что созданное имя файла будет уникальным (ранее не существовавшим). Если вызов был неуспешным, то template будет пустой строкой.  

    НАЙДЕННЫЕ ОШИБКИ

    EINVAL
    - последние шесть символов template не являлись XXXXXX.
     

    СООТВЕТСТВИЕ СТАНДАРТАМ

    BSD 4.3. POSIX требует tmpnam(3).  

    ЗАМЕЧАНИЯ

    Прототип данной функции находится в <unistd.h> (для libc4, libc5, glibc1); glibc2 соответствует "Single Unix Specification" и имеет прототип в <stdlib.h>.  

    НАЙДЕННЫЕ ОШИБКИ

    Никогда не используйте mktemp(). Некоторые реализации следуют BSD 4.3 и заменяют XXXXXX на идентификатор текущего процесса и один символ, так что Вы можете в результате получить максимум 26 разных имен. Так как, с одной стороны, имена легко угадываемы, а с другой стороны, возможно "состязание" между проверкой на существование имени файла и открытием файла при каждом использовании mktemp(), то безопасность системы будет под угрозой. Этого можно избежать при использовании функции mkstemp(3).  

    СМ. ТАКЖЕ

    mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ЗАМЕЧАНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру