لفتح الملف الذي تم تحديد اسمه في اسم ملف المعلمة ويربطه بتيار يمكن تحديده في العمليات المستقبلية من خلال مؤشر فيل الذي تم إرجاعه. يتم تعريف العمليات المسموح بها على الدفق وكيفية تنفيذها بواسطة معلمة النمط. يتم تخزين دفق عاد بشكل افتراضي بشكل افتراضي إذا كان من المعروف أن لا يشير إلى جهاز تفاعلي (انظر سيتبوف). يمكن إرجاع مؤشر عاد من الملف عن طريق استدعاء فكلوس أو فريوبين. يتم إغلاق كافة الملفات المفتوحة تلقائيا عند إنهاء البرنامج العادي. بيئة التشغيل تدعم ملفات فوبنماكس على الأقل مفتوحة في نفس الوقت. اسم ملف المعلمات سلسلة C تحتوي على اسم الملف المراد فتحه. وتتبع قيمته مواصفات اسم الملف للبيئة الجارية ويمكن أن تشمل مسارا (إذا كان النظام مدعوما). وضع C سلسلة تحتوي على وضع الوصول إلى ملف. يمكن أن يكون: قراءة ملف مفتوح لعمليات الإدخال. يجب أن يكون الملف موجودا. الكتابة: إنشاء ملف فارغ لعمليات الإخراج. إذا كان هناك ملف يحمل نفس الاسم بالفعل، يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. إلحاق: فتح ملف للإخراج في نهاية ملف. عمليات الإنتاج دائما كتابة البيانات في نهاية الملف، وتوسيعه. يتم تجاهل عمليات إعادة التهيئة (فسيك. فسيتوبوس. يتم إنشاء الملف إذا كان غير موجود. ريادوبديت: افتح ملفا للتحديث (سواء للإدخال أو الإخراج). يجب أن يكون الملف موجودا. وريوبوديت: إنشاء ملف فارغ وفتحه للتحديث (سواء للإدخال والمخرجات). إذا كان الملف الذي يحمل نفس الاسم موجود بالفعل يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. أبندوبدات: فتح ملف للتحديث (سواء للإدخال والمخرجات) مع جميع عمليات الانتاج كتابة البيانات في نهاية الملف. عمليات إعادة التهيئة (فسيك. فسيتبوس الترجيع) تؤثر على عمليات الإدخال التالية، ولكن عمليات الإخراج تحريك الموضع مرة أخرى إلى نهاية الملف. يتم إنشاء الملف إذا كان غير موجود. مع محددات الوضع فوق الملف مفتوح كملف نصي. لفتح ملف كملف ثنائي. يجب تضمين حرف b في سلسلة الوضع. ويمكن إضافة هذا الحرف الإضافي b إما في نهاية السلسلة (مما يجعل وسائط المركب التالية: رب أو وب أو أب أو رب أو وب أو أب) أو إدراجها بين الحرف وعلامة للأوضاع المختلطة (رب، وب، أب). ويضيف المعيار C الجديد (C2011، الذي ليس جزءا من C) مضيفا فرعيا جديدا (x)، يمكن إلحاقه بأي محدد (w wxx wxx wxxwbx). يؤدي هذا المقوم الفرعي إلى فشل الدالة إذا كان الملف موجودا، بدلا من الكتابة فوقه. إذا اتبعت أحرف إضافية التسلسل، يعتمد السلوك على تنفيذ المكتبة: قد تتجاهل بعض عمليات التنفيذ أحرف إضافية بحيث يتم على سبيل المثال قبول t إضافية (تستخدم أحيانا لصراحة ملف نصي). على بعض تطبيقات المكتبة، فتح أو إنشاء ملف نصي مع وضع التحديث قد تعامل تيار بدلا من ذلك كملف ثنائي. الملفات النصية عبارة عن ملفات تحتوي على تسلسل خطوط النص. اعتمادا على البيئة حيث يعمل التطبيق، قد تحدث بعض تحويل خاص الطابع في عمليات إنبوتوتوبوت في وضع النص إلى التكيف مع تنسيق ملف نصي نظام معين. على الرغم من أنه في بعض البيئات لا تحدث تحويلات ويتم التعامل مع الملفات النصية والملفات الثنائية بنفس الطريقة، باستخدام الوضع المناسب يحسن قابلية. بالنسبة للملفات التي يتم فتحها للتحديث (تلك التي تتضمن علامة)، والتي يسمح بها كل من عمليات الإدخال والمخرجات، يتم مسح التيار (ففلوش) أو إعادة وضعه (فسيك. فسيتوبوس الترجيع) قبل عملية القراءة التي تتبع عملية الكتابة. يجب إعادة ضبط التيار (فسيك. فسيتبوس) قبل عملية الكتابة التي تتبع عملية قراءة (كلما لم تصل هذه العملية إلى نهاية الملف). ريتورن فالو إذا تم فتح الملف بنجاح، ترجع الدالة مؤشرا إلى كائن فيل يمكن استخدامه لتحديد دفق العمليات المستقبلية. وإلا، يتم إرجاع مؤشر نول. في معظم تطبيقات المكتبة، يتم تعيين المتغير إرنو أيضا إلى رمز خطأ نظام معين على الفشل. الجواب البسيط هو لا. يتم تحديد الوضع عند إنشاء كائن يوستريم، ولا يمكن تغييره لاحقا. قد توفر بعض التطبيقات وسيلة للقيام بذلك في وقت لاحق، ولكن هذا هو غير موحدة. في بعض التطبيقات، قد يؤدي إجراء فريبين على ستدوت إلى تغيير الوضع، على الرغم من أنني أعتقد أن هذا محظور رسميا في C. (هو التنفيذ المحدد في C.) وعلى ما يبدو، فإنه لا يعمل على التنفيذ الخاص بك. أنت أفضل الرهان هو معرفة كيف نظامك أسماء جهاز وحدة التحكم (ديفتي تحت يونيكس كونس، وأعتقد، تحت ويندوز)، وفتحه في الوضع المطلوب، والإخراج إليها. إجابة 16 أبريل 14 في 11: 34freopen (3) - لينوكس مان بادج فوبين، فدوبين، فريوبين - تيار وظائف مفتوحة ميزة اختبار متطلبات ماكرو ل غليبك (انظر فيتورستماكروس (7)): فدوبين (): بوسيكسورس غ 1 شوبنسورس بوسيكسورس وصف فوبين () تفتح الملف الذي يكون اسمه هو السلسلة المشار إليها بواسطة المسار ويربط تيارا به. يشير وضع الوسيطة إلى سلسلة تبدأ بأحد التتابعات التالية (ربما متبوعة بحروف إضافية، كما هو موضح أدناه): r فتح ملف نصي للقراءة. يتم وضع تيار في بداية الملف. مفتوحة للقراءة والكتابة. يتم وضع تيار في بداية الملف. اقتطاع الملف إلى طول الصفر أو إنشاء ملف نصي للكتابة. يتم وضع تيار في بداية الملف. مفتوحة للقراءة والكتابة. يتم إنشاء الملف إذا لم يكن موجودا، وإلا يتم اقتطاعه. يتم وضع تيار في بداية الملف. فتح للإلحاق (الكتابة في نهاية الملف). يتم إنشاء الملف إذا كان غير موجود. يتم وضع التيار في نهاية الملف. فتح للقراءة والإلحاق (الكتابة في نهاية الملف). يتم إنشاء الملف إذا كان غير موجود. وضع الملف الأولي للقراءة هو في بداية الملف، ولكن يتم إلحاق الناتج دائما إلى نهاية الملف. يمكن أن تتضمن سلسلة الوضع أيضا الحرف b إما كحرف أخير أو كحرف بين الأحرف في أي من السلاسل المكونة من حرفين الموصوفة أعلاه. هذا هو تماما من أجل التوافق مع C89 وليس له أي تأثير يتم تجاهل b على جميع أنظمة المطابقة بوسيكس، بما في ذلك لينكس. (قد تعالج أنظمة أخرى ملفات نصية وملفات ثنائية بشكل مختلف، وقد تكون إضافة b فكرة جيدة إذا قمت بإدخال إو إلى ملف ثنائي وتوقع أن البرنامج قد يتم استدارته إلى بيئات غير أونيكس.) انظر الملاحظات أدناه للحصول على تفاصيل ملحقات غليبك للوضع. أي الملفات التي تم إنشاؤها سوف يكون وضع سيروسر سيوسر سيرغرب سيوغرب سيروث سيوث (0666)، كما تم تعديلها من قبل قيمة العمليات أوماسك (انظر أوماسك (2)). يقرأ ويكتب قد تكون مختلطة على تيارات ريادوريت في أي أمر. لاحظ أن أنسي C يتطلب أن تتدخل وظيفة تحديد ملف بين الإخراج والإدخال، ما لم تواجه عملية إدخال نهاية الملف. (إذا لم يتم استيفاء هذا الشرط، يسمح للقراءة بإرجاع نتيجة الكتابة الأخرى غير الأحدث). ولذلك فمن الممارسة الجيدة (بل وفي بعض الأحيان ضرورية في إطار لينكس) لوضع فسيك (3) أو فجيتبوس (3 ) العملية بين الكتابة وقراءة العمليات على مثل هذا التيار. وقد تكون هذه العملية ظاهرة غير ظاهرة (كما هو الحال في فسيك (0L، سيكور) التي تدعو إلى تأثيرها الجانبي المزامن. إن فتح ملف في نمط إلحاق (كطابع أول من النمط) يؤدي إلى جميع عمليات الكتابة اللاحقة إلى هذا التدفق إلى تحدث في نهاية الملف، كما لو سبق النداء: تقوم الدالة فدوبين () بربط تيار بمصفف ملف موجود، فد. نمط الدفق (أحد القيم r، r، w، w، a، أ) يجب أن يكون متوافقا مع أسلوب واصف الملف. يتم تعيين مؤشر وضع الملف للتيار الجديد إلى أن ينتمي إلى فد ويتم مسح مؤشرات الخطأ ونهاية الملف. الطريقة w أو w لا يسبب اقتطاع من الملف، ولا يتم خداع واصف الملف، وسيتم إغلاقه عندما يتم إغلاق الدفق الذي تم إنشاؤه بواسطة فدوبين ()، وتكون نتيجة تطبيق فدوبين () على كائن الذاكرة المشتركة غير محددة، وتفتح الدالة فريوبين () الملف الذي الاسم هو السلسلة التي تشير إلى المسار و يربط تيار أشار إلى تيار مع ذلك تيار الأصلي (إذا موجود) مغلقة. يتم استخدام وسيطة الوضع تماما كما في الدالة فوبين (). الاستخدام الأساسي للدالة فريوبين () هو تغيير الملف المقترن بتيار نص قياسي (ستدير ستدين أو ستدوت). ريتورن فالو عند الانتهاء بنجاح فوبين ()، فدوبين () و فريوبين () إرجاع مؤشر فيل. وإلا، يتم إرجاع نول ويتم تعيين إرنو للإشارة إلى الخطأ. كان الأسلوب المقدم إلى فوبين () أو فدوبين () أو فريوبين () غير صالح. قد تفشل الدالات فوبين () و فدوبين () و فريوبين () أيضا وتحدد إرنو لأي من الأخطاء المحددة ل روتيني مالوك (3). قد تفشل الدالة فوبين () أيضا وتضبط إرنو لأي من الأخطاء المحددة للروتين المفتوح (2). قد تفشل الدالة فدوبين () أيضا وتعيين إرنو لأي من الأخطاء المحددة ل فنتل الروتينية (2). قد تفشل الدالة فريوبين () أيضا وتضبط إرنو لأي من الأخطاء المحددة للروتينات المفتوحة (2) و فكلوس (3) و ففلوش (3). مطابقة ل فوبين () وفريوبين () وظائف تتفق مع C89. وتتفق الدالة فدوبين () مع POSIX.1-1990. ملاحظات غليبك مكتبة غنو C تسمح بالإضافات التالية للسلسلة المحددة في الوضع. ج (منذ غليبك 2.3.3) لا تجعل العملية مفتوحة، أو عمليات القراءة والكتابة اللاحقة، نقاط إلغاء الموضوع. يتم تجاهل هذا العلم ل فدوبين (). e (منذ غليبك 2.7) افتح الملف مع أوكلوكسيك علم. انظر فتح (2) لمزيد من المعلومات. يتم تجاهل هذا العلم ل فدوبين (). m (منذ غليبك 2.3) محاولة الوصول إلى الملف باستخدام مماب (2)، بدلا من إو يدعو النظام (قراءة (2)، والكتابة (2)). حاليا، يتم استخدام استخدام مماب (2) فقط لفتح ملف للقراءة. x افتح الملف بشكل حصري (مثل علامة أوكسكل المفتوحة (2)). إذا كان الملف موجودا بالفعل، فوبين () فشل، ويحدد إرنو إلى إيكسيست. يتم تجاهل هذا العلم ل فدوبين (). بالإضافة إلى الأحرف المذكورة أعلاه، فوبين () و فريوبين () دعم بناء الجملة التالية في الوضع. تؤخذ السلسلة المعينة كاسم مجموعة أحرف مشفرة ويتم وضع علامة على الموجة على أنها واسعة المنحى. بعد ذلك، تحويل وظائف التحويل الداخلي إو من وإلى سلسلة مجموعة الأحرف. إذا لم يتم تحديد بناء جملة سس، فسيتم تحديد الاتجاه العريض للتيار من خلال تشغيل الملف الأول. إذا كانت هذه العملية عملية ذات أحرف كبيرة، يتم وضع علامة على الموجه على نطاق واسع، ويتم تحميل الدالات المراد تحويلها إلى مجموعة الأحرف المشفرة. عند تحليل أحرف علم فردية في الوضع (أي الأحرف التي تسبق مواصفات سس)، فإن تطبيق غليبك ل فوبين () و فريوبين () يحد من عدد الأحرف التي تم فحصها في النمط إلى 7 (أو في الإصدارات غليبك قبل 2.14 إلى 6 ، الذي لم يكن كافيا لإدراج المواصفات الممكنة مثل ربمكس). التنفيذ الحالي ل فدوبين () يوزع على الأكثر 5 أحرف في الوضع. المشار إليه من قبل
No comments:
Post a Comment