.\" -*- 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 lipca 2023 r." "Linux man\-pages 6.05.01" .SH NAZWA fread, fwrite \- odczyt/zapis strumienia binarnego .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .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 OPIS Funkcja \fBfread\fP() odczytuje \fInmemb\fP elementów danych, każdy o rozmiarze \fIsize\fP bajtów, ze strumienia wskazywanego przez \fIstream\fP, do miejsca w pamięci wskazywanego przez \fIptr\fP. .PP Funkcja \fBfwrite\fP() zapisuje \fInmemb\fP elementów danych, każdy o rozmiarze \fIsize\fP bajtów, do strumienia wskazywanego przez \fIstream\fP, pobierając je z miejsca w pamięci wskazywanego przez \fIptr\fP. .PP Informacje o nieblokujących odpowiednikach znajdują się w \fBunlocked_stdio\fP(3). .SH "WARTOŚĆ ZWRACANA" Funkcje \fBfread\fP() oraz \fBfwrite\fP(), jeśli się powiodą, zwracają liczbę faktycznie odczytanych lub zapisanych elementów. Ta liczba jest równa liczne przesłanych bajtów tylko wtedy, gdy \fIsize\fP wynosi 1. Jeśli wystąpi błąd lub osiągnięty zostanie koniec pliku, zwracana jest zmniejszona liczba elementów (lub zero). .PP The file position indicator for the stream is advanced by the number of bytes successfully read or written. .PP Funkcja \fBfread\fP() nie rozróżnia pomiędzy końcem pliku a błędem, należy w tym celu wywołać funkcję \fBfeof\fP(3) oraz \fBferror\fP(3). .SH ATRYBUTY Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ .na .nh \fBfread\fP(), \fBfwrite\fP() T} Bezpieczeństwo wątkowe MT\-bezpieczne .TE .sp 1 .SH STANDARDY C11, POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, C89. .SH PRZYKŁADY The program below demonstrates the use of \fBfread\fP() by parsing /bin/sh ELF executable in binary mode and printing its magic and class: .PP .in +4n .EX $ \fB./a.out\fP ELF magic: 0x7f454c46 Class: 0x02 .EE .in .SS "Kod źródłowy programu" .\" 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() failed: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("ELF magic: %#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() failed: %zu\en", ret); exit(EXIT_FAILURE); } \& printf("Class: %#04x\en", buffer[0]); \& fclose(fp); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "ZOBACZ TAKŻE" \fBread\fP(2), \fBwrite\fP(2), \fBfeof\fP(3), \fBferror\fP(3), \fBunlocked_stdio\fP(3) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek , Andrzej Krzysztofowicz i Robert Luberda . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .