.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" and Copyright (c) 2020 Arkadiusz Drabczyk .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)fread.3 6.6 (Berkeley) 6/29/91 .\" .\" Converted for Linux, Mon Nov 29 15:37:33 1993, faith@cs.unc.edu .\" Sun Feb 19 21:26:54 1995 by faith, return values .\" Modified Thu Apr 20 20:43:53 1995 by Jim Van Zandt .\" Modified Fri May 17 10:21:51 1996 by Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fread 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME fread, fwrite \- intrare/ieșire a fluxurilor binare .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBsize_t fread(void \fP\fIptr\fP\fB[restrict .\fP\fIsize\fP\fB * .\fP\fInmemb\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fInmemb\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP \fBsize_t fwrite(const void \fP\fIptr\fP\fB[restrict .\fP\fIsize\fP\fB * .\fP\fInmemb\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fInmemb\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP .fi .SH DESCRIERE Funcția \fBfread\fP() citește \fInmemb\fP elemente de date, fiecare cu lungimea de \fIsize\fP octeți, din fluxul indicat de \fIstream\fP, stocându\-le la locația indicată de \fIptr\fP. .PP Funcția \fBfwrite\fP() scrie \fInmemb\fP elemente de date, fiecare cu o lungime de \fIsize\fP octeți, în fluxul indicat de \fIstream\fP, obținându\-le din locația dată de \fIptr\fP. .PP Pentru varianta corespondentă fără blocare, a se vedea \fBunlocked_stdio\fP(3). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBfread\fP() și \fBfwrite\fP() returnează numărul de elemente citite sau scrise. Acest număr este egal cu numărul de octeți transferați numai atunci când \fIsize\fP este 1. Dacă apare o eroare sau dacă se ajunge la sfârșitul fișierului, valoarea returnată este un număr scurt de elemente (sau zero). .PP Indicatorul de poziție al fișierului pentru flux este avansat cu numărul de octeți citiți sau scriși cu succes. .PP \fBfread\fP() nu face distincție între end\-of\-file (sfârșitul de fișier) și eroare, iar apelanții trebuie să utilizeze \fBfeof\fP(3) și \fBferror\fP(3) pentru a determina ce a avut loc. .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 \fBfread\fP(), \fBfwrite\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH STANDARDE C11, POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001, C89. .SH EXEMPLE Programul de mai jos demonstrează utilizarea \fBfread\fP() analizând executabilul /bin/sh ELF în modul binar și imprimând numărul magic și clasa acestuia: .PP .in +4n .EX $ \fB./a.out\fP ELF magic: 0x7f454c46 Class: 0x02 .EE .in .SS "Sursa programului" .\" SRC BEGIN (fread.c) \& .EX #include #include \& #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) \& int main(void) { FILE *fp; size_t ret; unsigned char buffer[4]; \& fp = fopen("/bin/sh", "rb"); if (!fp) { perror("fopen"); return EXIT_FAILURE; } \& ret = fread(buffer, sizeof(*buffer), ARRAY_SIZE(buffer), fp); if (ret != ARRAY_SIZE(buffer)) { fprintf(stderr, "fread() a eșuat: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("numărul magic ELF: %#04x%02x%02x%02x\en", buffer[0], buffer[1], buffer[2], buffer[3]); \& ret = fread(buffer, 1, 1, fp); if (ret != 1) { fprintf(stderr, "fread() a eșuat: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("Clasa: %#04x\en", buffer[0]); \& fclose(fp); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBread\fP(2), \fBwrite\fP(2), \fBfeof\fP(3), \fBferror\fP(3), \fBunlocked_stdio\fP(3) .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 .