| confstr(3) | Library Functions Manual | confstr(3) |
confstr - obține variabile de tip șir de caractere dependente de configurație
Biblioteca C standard (libc, -lc)
#include <unistd.h>
size_t confstr(int name, char buf[.size], size_t size);
confstr():
_POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE
confstr() obține valoarea variabilelor de tip șir de caractere care depind de configurație.
Argumentul name este variabila de sistem care trebuie interogată. Sunt acceptate următoarele variabile:
Dacă buf nu este NULL și size nu este zero, confstr() copiază valoarea șirului în buf trunchiat la size - 1 octeți dacă este necesar, cu un octet nul („\0”) ca terminator. Acest lucru poate fi detectat prin compararea valorii de returnare a confstr() cu size.
Dacă size este zero și buf este NULL, confstr() returnează pur și simplu valoarea definită mai jos.
Dacă name este o variabilă de configurare validă, confstr() returnează numărul de octeți (inclusiv octetul nul de terminare) care ar fi necesar pentru a conține întreaga valoare a variabilei respective. Această valoare poate fi mai mare decât size, ceea ce înseamnă că valoarea din buf este trunchiată.
Dacă name este o variabilă de configurare validă, dar această variabilă nu are o valoare, atunci confstr() returnează 0. Dacă name nu corespunde unei variabile de configurare valide, confstr() returnează 0, iar errno este stabilită la EINVAL.
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
| Interfață | Atribut | Valoare |
| confstr() | Siguranța firelor | MT-Safe |
POSIX.1-2008.
POSIX.1-2001.
Următorul fragment de cod determină ruta în care se găsesc instrumentele de sistem POSIX.2:
char *pathbuf; size_t n; n = confstr(_CS_PATH, NULL, (size_t) 0); pathbuf = malloc(n); if (pathbuf == NULL)
abort(); confstr(_CS_PATH, pathbuf, n);
getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3)
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.
| 15 iunie 2024 | Pagini de manual de Linux 6.9.1 |