The OpenNET Project / Index page

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

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

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

mkstemp (3)
  • mkstemp (3) ( Solaris man: Библиотечные вызовы )
  • mkstemp (3) ( FreeBSD man: Библиотечные вызовы )
  • >> mkstemp (3) ( Русские man: Библиотечные вызовы )
  • mkstemp (3) ( Linux man: Библиотечные вызовы )
  • mkstemp (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

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

    СИНТАКСИС

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

    ОПИСАНИЕ

    Функция mkstemp() создает временный файл с именем, соответствующим строке из template. Последние шесть символов template должны быть XXXXXX, и именно они заменяются строкой, которая делает имя файла уникальным. Затем создается файл для чтения/записи и уровнями доступа, равными либо 0666 (в glibc 2.0.6 и более ранних версий), либо 0600 (в glibc 2.0.7 и более поздних версий). Так как она будет меняться, то template не может быть строковой константой, а должна быть определена как символьный массив. Файл открывается с флагом O_EXCL, гарантирующим, что при успешном возвращении mkstemp мы будем единственным пользователем.  

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

    Функция mkstemp() возвращает описатель fd временного файла или -1 при ошибках.  

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

    EINVAL
    (последние шесть символов template не являлись XXXXXX. template не меняется.);
    EEXIST
    (нельзя создать уникальное имя временного файла. Содержимое template в этот момент не определено.).
     

    ЗАМЕЧАНИЯ

    Прежняя работа функции (создание файла с режимом 0666) могла быть рискованной для системы безопасности, особенно поскольку другие Unix-дополнения используют 0600 и некоторые могли проигнорировать эту особенность при переносе программ.

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

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

    BSD 4.3, POSIX 1003.1-2001  

    ЗАМЕЧАНИЯ

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

    СМ. ТАКЖЕ

    mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)


     

    Index

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


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




    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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