.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1999 Joseph Samuel Myers. .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pread 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME pread, pwrite \- citește dintr\-un descriptor de fișier sau scrie într\-un descriptor de fișier la o anumită poziție .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBssize_t pread(int \fP\fIfd\fP\fB, void \fP\fIbuf\fP\fB[.\fP\fIcount\fP\fB], size_t \fP\fIcount\fP\fB,\fP \fB off_t \fP\fIoffset\fP\fB);\fP \fBssize_t pwrite(int \fP\fIfd\fP\fB, const void \fP\fIbuf\fP\fB[.\fP\fIcount\fP\fB], size_t \fP\fIcount\fP\fB,\fP \fB off_t \fP\fIoffset\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBpread\fP(), \fBpwrite\fP(): .nf _XOPEN_SOURCE >= 500 || /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .SH DESCRIERE \fBpread\fP() citește până la \fIcount\fP octeți din descriptorul de fișier \fIfd\fP la poziția \fIoffset\fP (de la începutul fișierului) în memoria tampon care începe la \fIbuf\fP. Poziția din fișier a indicatorului de citire nu se modifică. .PP \fBpwrite\fP() scrie până la \fIcount\fP octeți din memoria tampon care începe la \fIbuf\fP în descriptorul de fișier \fIfd\fP la poziția \fIoffset\fP. Poziția din fișier a indicatorului de scriere nu se modifică. .PP Fișierul la care face referire \fIfd\fP trebuie să permită căutarea. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBpread\fP() returnează numărul de octeți citiți (o valoare zero indică sfârșitul fișierului), iar \fBpwrite\fP() returnează numărul de octeți scriși. .PP Rețineți că nu este o eroare ca un apel reușit să transfere mai puțini octeți decât cei solicitați (a se vedea \fBread\fP(2) și \fBwrite\fP(2)). .PP În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE \fBpread\fP() poate eșua și poate configura \fIerrno\fP la orice eroare specificată pentru \fBread\fP(2) sau \fBlseek\fP(2). \fBpwrite\fP() poate eșua și poate configura \fIerrno\fP la orice eroare specificată pentru \fBwrite\fP(2) sau \fBlseek\fP(2). .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .PP Adăugat în Linux 2.1.60; intrările din tabelul de apeluri de sistem i386 au fost adăugate în Linux 2.1.69. Suportul pentru biblioteca C (inclusiv emulația folosind \fBlseek\fP(2) pe nuclee mai vechi fără apelurile de sistem) a fost adăugat în glibc 2.1. .SS "Diferențe între biblioteca C și nucleu" În Linux, apelurile de sistem subiacente au fost redenumite în Linux 2.6: \fBpread\fP() a devenit \fBpread64\fP(), iar \fBpwrite\fP() a devenit \fBpwrite64\fP(). Numerele apelurilor de sistem au rămas aceleași. Funcțiile de învăluire glibc \fBpread\fP() și \fBpwrite\fP() tratează în mod transparent această schimbare. .PP Pe unele arhitecturi pe 32 de biți, semnătura de apelare pentru aceste apeluri de sistem diferă, din motivele descrise în \fBsyscall\fP(2). .SH NOTE Apelurile de sistem \fBpread\fP() și \fBpwrite\fP() sunt deosebit de utile în aplicațiile cu multiple fire de execuție. Ele permit mai multor fire de execuție să efectueze operații de In/Ieș pe același descriptor de fișier fără a fi afectate de modificările aduse la poziția din fișier de către alte fire de execuție. .SH ERORI .\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=43178 POSIX prevede că deschiderea unui fișier cu fanionul \fBO_APPEND\fP nu trebuie să aibă niciun efect asupra locației în care \fBpwrite\fP() scrie datele. Cu toate acestea, în Linux, dacă un fișier este deschis cu \fBO_APPEND\fP, \fBpwrite\fP() adaugă datele la sfârșitul fișierului, indiferent de valoarea lui \fIoffset\fP. .SH "CONSULTAȚI ȘI" \fBlseek\fP(2), \fBread\fP(2), \fBreadv\fP(2), \fBwrite\fP(2) .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 .