.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1990-1991, The Regents of the University of California. .\" Copyright 2020, Arkadiusz Drabczyk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fread 3 "10 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم fread, fwrite \- إدخال/إخراج الدفق الثنائي .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBsize_t fread(\fPsize_t size, size_t n; \fB void \fP\fIptr\fP\fB[restrict \fP\fIsize\fP\fB * \fP\fIn\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fIn\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP \fBsize_t fwrite(\fPsize_t size, size_t n; \fB const void \fP\fIptr\fP\fB[restrict \fP\fIsize\fP\fB * \fP\fIn\fP\fB],\fP \fB size_t \fP\fIsize\fP\fB, size_t \fP\fIn\fP\fB,\fP \fB FILE *restrict \fP\fIstream\fP\fB);\fP .fi .SH الوصف الدالة \fBfread\fP() تقرأ \fIn\fP عنصرًا من البيانات، كل منها بطول \fIsize\fP بايت، من الدفق المشار إليه بـ \fIstream\fP، وتخزنها في الموقع المعطى بـ \fIptr\fP. .P الدالة \fBfwrite\fP() تكتب \fIn\fP عنصرًا من البيانات، كل منها بطول \fIsize\fP بايت، إلى الدفق المشار إليه بـ \fIstream\fP، وتستمدها من الموقع المعطى بـ \fIptr\fP. .P للحصول على نظائر غير مقفلة، انظر \fBunlocked_stdio\fP(3). .SH "قيمة الإرجاع" عند النجاح، \fBfread\fP() و \fBfwrite\fP() تُرجعان عدد العناصر المقروءة أو المكتوبة. هذا العدد يساوي عدد البايتات المنقولة فقط عندما يكون \fIsize\fP هو 1. إذا حدث خطأ، أو تم الوصول إلى نهاية الملف، تكون القيمة المُرجَعة عدد عناصر قصير (أو صفر). .P مؤشر موضع الملف للدفق يُقدَّم بعدد البايتات التي تمت قراءتها أو كتابتها بنجاح. .P \fBfread\fP() لا تفرق بين نهاية الملف والخطأ، ويجب على المستدعين استخدام \fBfeof\fP(3) و \fBferror\fP(3) لتحديد أيهما حدث. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBfread\fP()، \fBfwrite\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير C11, POSIX.1\-2008. .SH التاريخ POSIX.1\-2001، C89. .SH أمثلة البرنامج أدناه يوضح استخدام \fBfread\fP() عن طريق تحليل الملف التنفيذي ELF /bin/sh في الوضع الثنائي وطباعة سحره وفئته: .P .in +4n .EX $\fB ./a.out\fP; ELF magic: 0x7f454c46 Class: 0x02 .EE .in .SS "مصدر البرنامج" .\" SRC BEGIN (fread.c) \& .EX #include #include #include \& 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), countof(buffer), fp); if (ret != countof(buffer)) { fprintf(stderr, "fread() failed: %zu\[rs]n", ret); exit(EXIT_FAILURE); } \& printf("ELF magic: %#04x%02x%02x%02x\[rs]n", buffer[0], buffer[1], buffer[2], buffer[3]); \& ret = fread(buffer, 1, 1, fp); if (ret != 1) { fprintf(stderr, "fread() failed: %zu\[rs]n", ret); exit(EXIT_FAILURE); } \& printf("Class: %#04x\[rs]n", buffer[0]); \& fclose(fp); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "انظر أيضًا" \fBread\fP(2), \fBwrite\fP(2), \fBfeof\fP(3), \fBferror\fP(3), \fBunlocked_stdio\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .