mktemp(3) Library Functions Manual mktemp(3) NAZWA mktemp - tworzy unikalna nazwe pliku tymczasowego BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include 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 Prosze nigdy nie uzywac tej funkcji; zob. USTERKI. Funkcja mktemp() tworzy unikalna nazwe pliku tymczasowego na podstawie template. Ostatnimi szescioma znakami w template musi byc XXXXXX; znaki te sa zastepowane lancuchem, ktory czyni nazwe pliku unikalna. Jako ze zostanie on zmodyfikowany, template nie moze byc stala lancuchowa, lecz nalezy go zadeklarowac jako tablice znakow. WARTOSC ZWRACANA Funkcja mktemp() zawsze zwraca template. Jesli utworzono unikalna nazwe, ostatnie szesc bajtow template beda zmodyfikowane w ten sposob, ze wynikowa nazwa jest unikatowa (tj. nie wystepowala do tej pory). Jesli nie mozna bylo utworzyc unikalnej nazwy, template bedzie lancuchem pustym i ustawiane jest errno, wskazujac blad. BLEDY EINVAL Ostatnimi szescioma znakami template nie byly XXXXXX. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |mktemp() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY Brak. HISTORIA 4.3BSD, POSIX.1-2001. Usuniete w POSIX.1-2008. USTERKI Prosze nigdy nie uzywac mktemp(). Niektore implementacje stosuja zasady z 4.3BSD, zastepujac XXXXXX identyfikatorem biezacego procesu i pojedyncza litera, tak wiec zwrocone moze byc co najwyzej 26 roznych nazw. Jako ze z jednej strony nazwy te sa latwe do odgadniecia, a z drugiej strony wystepuje wyscig pomiedzy sprawdzeniem, czy nazwa istnieje i otwarciem pliku, kazde zastosowanie mktemp() stanowi zagrozenie bezpieczenstwa. Wyscigu mozna uniknac, uzywajac mkstemp(3) i mkdtemp(3). ZOBACZ TAKZE mktemp(1), mkdtemp(3), mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.15 17 maja 2025 r. mktemp(3)