.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2000 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Created, 14 Dec 2000 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH basename 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME basename, dirname \- analizează componentele numelui rutei .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBchar *dirname(char *\fP\fIruta\fP\fB);\fP \fBchar *basename(char *\fP\fIruta\fP\fB);\fP .fi .SH DESCRIERE Atenție: există două funcții diferite \fBbasename\fP(); a se vedea mai jos. .PP Funcțiile \fBdirname\fP() și \fBbasename\fP() descompun un șir de nume de rută cu terminație nulă în componentele director și nume de fișier. În cazul obișnuit, \fBdirname\fP() returnează șirul până la „/” final, dar fără a\-l include, iar \fBbasename\fP() returnează componenta care urmează după „/” final. Caracterele „/” de la sfârșit nu sunt considerate ca făcând parte din numele de rută. .PP Dacă \fIruta\fP nu conține o bară oblică, \fBdirname\fP() returnează șirul „.”, în timp ce \fBbasename\fP() returnează o copie a \fIrutei\fP. Dacă \fIruta\fP este șirul „/”, atunci atât \fBdirname\fP(), cât și \fBbasename\fP() returnează șirul „/”. Dacă \fIruta\fP este un indicator nul sau indică un șir gol, atunci atât \fBdirname\fP(), cât și \fBbasename\fP() returnează șirul „.”. .PP Concatenând șirul returnat de \fBdirname\fP(), un „/” și șirul returnat de \fBbasename\fP() se obține un nume de rută complet. .PP Atât \fBdirname\fP(), cât și \fBbasename\fP() pot modifica conținutul \fIrutei\fP, astfel încât poate fi de dorit să se transfere o copie atunci când se apelează una dintre aceste funcții. .PP Aceste funcții pot returna indicatori către memoria alocată static, care poate fi suprascrisă de apelurile ulterioare. Alternativ, ele pot returna un indicator către o parte din \fIrută\fP, astfel încât șirul la care face referire \fIruta\fP să nu fie modificat sau eliberat până când indicatorul returnat de funcție nu mai este necesar. .PP Următoarea listă de exemple (preluată din SUSv2) prezintă șirurile de caractere returnate de \fBdirname\fP() și \fBbasename\fP() pentru diferite rute: .RS .TS lb lb lb l l l l. ruta dirname basename /usr/lib /usr lib /usr/ / usr usr . usr / / / \&. . . \&.. . .. .TE .RE .SH "VALOAREA RETURNATĂ" Atât \fBdirname\fP(), cât și \fBbasename\fP() returnează indicatori către șiruri de caractere cu terminație nulă; (nu pasați acești indicatori la \fBfree\fP(3)). .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBbasename\fP(), \fBdirname\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH VERSIUNI Există două versiuni diferite ale \fBbasename\fP() \- versiunea POSIX descrisă mai sus și versiunea GNU, care se obține după definirea acesteia: .PP .in +4n .EX \fB #define _GNU_SOURCE\fP /* Consultați feature_test_macros(7) */ \fB#include \fP .EE .in .PP Versiunea GNU nu\-și modifică niciodată argumentul și returnează șirul gol atunci când \fIruta\fP are o bară oblică la sfârșit și, în special, atunci când este „/”. Nu există o versiune GNU a \fBdirname\fP(). .PP Cu glibc, se obține versiunea POSIX a \fBbasename\fP() atunci când \fI\fP este inclus, iar în caz contrar, versiunea GNU. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH ERORI În implementarea glibc, versiunile POSIX ale acestor funcții modifică argumentul \fIruta\fP și generează o eroare de segmentare atunci când sunt apelate cu un șir static, cum ar fi „/usr/”. .PP Înainte de glibc 2.2.1, versiunea glibc a \fBdirname\fP() nu gestiona corect numele de rută cu caractere „/” la sfârșit și genera o eroare de segmentare dacă primea un argument NULL. .SH EXEMPLE Următorul fragment de cod demonstrează utilizarea \fBbasename\fP() și \fBdirname\fP(): .in +4n .EX char *dirc, *basec, *bname, *dname; char *path = "/etc/passwd"; \& dirc = strdup(path); basec = strdup(path); dname = dirname(dirc); bname = basename(basec); printf("dirname=%s, basename=%s\en", dname, bname); .EE .in .SH "CONSULTAȚI ȘI" \fBbasename\fP(1), \fBdirname\fP(1) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .