Provided by: manpages-pl-dev_4.27.0-1_all bug

NAZWA

       mktemp - tworzy unikalną nazwę pliku tymczasowego

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <stdlib.h>

       char *mktemp(char *template);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       mktemp():
           Od glibc 2.12:
               (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
                   || /* glibc >= 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
           Przed glibc 2.12:
               _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500

OPIS

       Proszę nigdy nie używać tej funkcji; zob. USTERKI.

       Funkcja  mktemp()  tworzy  unikalną  nazwę  pliku tymczasowego na podstawie template. Ostatnimi sześcioma
       znakami w template musi być XXXXXX; znaki te są zastępowane łańcuchem, który czyni nazwę pliku  unikalną.
       Jako  że  zostanie  on zmodyfikowany, template nie może być stałą łańcuchową, lecz należy go zadeklarować
       jako tablicę znaków.

WARTOŚĆ ZWRACANA

       Funkcja mktemp() zawsze zwraca template. Jeśli utworzono unikalną nazwę, ostatnie sześć  bajtów  template
       będą  zmodyfikowane  w  ten  sposób,  że wynikowa nazwa jest unikatowa (tj. nie występowała do tej pory).
       Jeśli nie można było utworzyć unikalnej nazwy, template będzie łańcuchem pustym i ustawiane  jest  errno,
       wskazując błąd.

BŁĘDY

       EINVAL Ostatnimi sześcioma znakami template nie były XXXXXX.

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌──────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │ InterfejsAtrybutWartość       │
       ├──────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │ mktemp()                                                     │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └──────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       Brak.

HISTORIA

       4.3BSD, POSIX.1-2001. Usunięte w POSIX.1-2008.

USTERKI

       Proszę  nigdy  nie  używać  mktemp().  Niektóre  implementacje stosują zasady z 4.3BSD, zastępując XXXXXX
       identyfikatorem bieżącego procesu i pojedynczą literą, tak więc zwrócone może być co najwyżej 26  różnych
       nazw.  Jako  że  z  jednej  strony  nazwy te są łatwe do odgadnięcia, a z drugiej strony występuje wyścig
       pomiędzy sprawdzeniem, czy  nazwa  istnieje  i  otwarciem  pliku,  każde  zastosowanie  mktemp()  stanowi
       zagrożenie bezpieczeństwa. Wyścigu można uniknąć, używając mkstemp(3) i mkdtemp(3).

ZOBACZ TAKŻE

       mktemp(1), mkdtemp(3), mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3)

TŁUMACZENIE

       Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.9.1                            2 maja 2024 r.                                        mktemp(3)