.\" -*- coding: UTF-8 -*- .\" Copyright 1999, Joseph Samuel Myers .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pread 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم pread, pwrite \- قراءة من أو كتابة إلى واصف ملف عند إزاحة معينة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBssize_t pread(\fPsize_t count; \fB 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(\fPsize_t count; \fB 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 .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBpread\fP()، \fBpwrite\fP(): .nf _XOPEN_SOURCE >= 500 || /* منذ glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .SH الوصف يقرأ \fBpread\fP() حتى \fIcount\fP بايت من واصف الملف \fIfd\fP عند إزاحة \fIoffset\fP (من بداية الملف) إلى المخزن المؤقت الذي يبدأ عند \fIbuf\fP. لا تتغير إزاحة الملف. .P يكتب \fBpwrite\fP() حتى \fIcount\fP بايت من المخزن المؤقت الذي يبدأ عند \fIbuf\fP إلى واصف الملف \fIfd\fP عند إزاحة \fIoffset\fP. لا تتغير إزاحة الملف. .P يجب أن يكون الملف المشار إليه بواسطة \fIfd\fP قادرًا على البحث. .SH "قيمة الإرجاع" عند النجاح، يُرجع \fBpread\fP() عدد البايتات المقروءة (إرجاع صفر يشير إلى نهاية الملف) ويُرجع \fBpwrite\fP() عدد البايتات المكتوبة. .P لاحظ أنه ليس خطأً إذا قامت مكالمة ناجحة بنقل بايتات أقل مما هو مطلوب (راجع \fBread\fP(2) و \fBwrite\fP(2)). .P عند حدوث خطأ، يُرجع \-1 ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء يمكن أن يفشل \fBpread\fP() ويضبط \fIerrno\fP على أي خطأ محدد لـ \fBread\fP(2) أو \fBlseek\fP(2). يمكن أن يفشل \fBpwrite\fP() ويضبط \fIerrno\fP على أي خطأ محدد لـ \fBwrite\fP(2) أو \fBlseek\fP(2). .SH المعايير POSIX.1\-2024. .SH التاريخ POSIX.1\-2001. .P أُضيف في Linux 2.1.60؛ أُضيفت الإدخالات في جدول استدعاءات النظام i386 في Linux 2.1.69. أُضيف دعم مكتبة C (بما في ذلك المحاكاة باستخدام \fBlseek\fP(2) على النوى الأقدم بدون استدعاءات النظام) في glibc 2.1. .SS "الاختلافات بين مكتبة C والنواة" على Linux، أُعيد تسمية استدعاءات النظام الأساسية في Linux 2.6: أصبح \fBpread\fP() \fBpread64\fP()، وأصبح \fBpwrite\fP() \fBpwrite64\fP(). بقيت أرقام استدعاءات النظام كما هي. تتعامل دوال الغلاف \fBpread\fP() و \fBpwrite\fP() في glibc مع التغيير بشفافية. .P في بعض معماريات 32 بت، تختلف بصمة الاستدعاء لنداءات النظام هذه، للأسباب الموصوفة في \fBsyscall\fP(2). .SH ملاحظات استدعاءات النظام \fBpread\fP() و \fBpwrite\fP() مفيدة بشكل خاص في التطبيقات متعددة الخيوط. تسمح لخيوط متعددة بإجراء الإدخال/الإخراج على نفس واصف الملف دون التأثر بتغييرات إزاحة الملف بواسطة خيوط أخرى. .SH العلل .\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=43178 يتطلب POSIX ألا يكون لفتح ملف بالعلامة \fBO_APPEND\fP أي تأثير على الموقع الذي يكتب فيه \fBpwrite\fP() البيانات. ومع ذلك، على Linux، إذا فُتح ملف بـ \fBO_APPEND\fP، يُلحق \fBpwrite\fP() البيانات بنهاية الملف، بغض النظر عن قيمة \fIoffset\fP. .SH "انظر أيضًا" \fBlseek\fP(2)، \fBread\fP(2)، \fBreadv\fP(2)، \fBwrite\fP(2) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .