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

NUME

       tempnam - creează un nume pentru un fișier temporar

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdio.h>

       char *tempnam(const char *dir, const char *pfx);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       tempnam():
           Începând cu glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 și versiunile anterioare:
               _BSD_SOURCE || _SVID_SOURCE

DESCRIERE

       Nu folosiți niciodată această funcție. Folosiți în schimb mkstemp(3) sau tmpfile(3).

       Funcția  tempnam() returnează un indicator către un șir de caractere care este un nume de fișier valid și
       care este de așa natură încât un fișier cu acest  nume  nu  exista  în  momentul  verificării  tempnam().
       Sufixul  numelui  de  fișier al numelui de rută generat va începe cu pfx în cazul în care pfx este un șir
       non-NULL de cel mult cinci octeți. Se cere ca partea de prefix de director a numelui de rută  generat  să
       fie „adecvată” (adesea, aceasta implică cel puțin posibilitatea de a fi scrisă).

       Încercările de a găsi un director adecvat parcurg următorii pași:

       a) În  cazul  în  care  variabila  de  mediu TMPDIR există și conține numele unui director corespunzător,
          aceasta este utilizată.

       b) În caz contrar, dacă argumentul dir nu este NULL și este adecvat, acesta este utilizat.

       c) În caz contrar, P_tmpdir (așa cum este definit în <stdio.h>) este utilizat atunci când este cazul.

       d) În cele din urmă, se poate utiliza un director definit de implementare.

       Șirul de caractere returnat de tempnam() este alocat folosind malloc(3) și, prin urmare, ar trebui să fie
       eliberat de free(3).

VALOAREA RETURNATĂ

       În caz de succes, funcția tempnam() returnează un indicator către un nume de  fișier  temporar  unic.  În
       cazul  în  care nu poate fi generat un nume unic, se returnează NULL, iar errno este configurată pentru a
       indica eroarea.

ERORI-IEȘIRE

       ENOMEM A eșuat alocarea de spațiu de stocare.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬───────────────────┬─────────────┐
       │ InterfațăAtributValoare     │
       ├─────────────────────────────────────────────────────────────────────┼───────────────────┼─────────────┤
       │ tempnam()                                                           │ Siguranța firelor │ MT-Safe env │
       └─────────────────────────────────────────────────────────────────────┴───────────────────┴─────────────┘

STANDARDE

       POSIX.1-2008.

ISTORIC

       SVr4, 4.3BSD, POSIX.1-2001.  Eliminată în POSIX.1-2008.

NOTE

       Deși tempnam() generează nume care sunt greu de ghicit, este totuși posibil ca  între  momentul  în  care
       tempnam()  returnează un nume de rută și momentul în care programul îl deschide, un alt program să creeze
       acel nume de rută folosind open(2) sau să îl creeze ca o legătură simbolică. Acest lucru  poate  duce  la
       găuri de securitate. Pentru a evita astfel de posibilități, utilizați indicatorul open(2) O_EXCL pentru a
       deschide numele de rută.  Sau, mai bine, utilizați mkstemp(3) sau tmpfile(3).

       SUSv2  nu  menționează  utilizarea  lui  TMPDIR;  glibc îl va utiliza numai atunci când programul nu este
       set-user-ID. Pe SVr4, directorul utilizat sub d) este /tmp (și aceasta este ceea ce face glibc).

       Deoarece alocă în mod dinamic memoria utilizată pentru a returna numele rutei, tempnam() este  reentrantă
       și, prin urmare, sigură pentru fire, spre deosebire de tmpnam(3).

       Funcția tempnam() generează un șir diferit de fiecare dată când este apelată, până la TMP_MAX (definit în
       <stdio.h>) ori.  În cazul în care este apelată de mai mult de TMP_MAX ori, comportamentul este definit de
       implementare.

       tempnam() utilizează cel mult primii cinci octeți din pfx.

       Implementarea glibc a tempnam() eșuează cu eroarea EEXIST în cazul în care nu se găsește un nume unic.

ERORI

       Sensul  precis  al  cuvântului  „adecvat”  este  nedefinit; nu este specificat modul în care se determină
       accesibilitatea unui director.

CONSULTAȚI ȘI

       mkstemp(3), mktemp(3), tmpfile(3), tmpnam(3)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                         tempnam(3)