الجواب البسيط هو لا. يتم تحديد الوضع عند إنشاء كائن يوستريم، ولا يمكن تغييره لاحقا. قد توفر بعض التطبيقات وسيلة للقيام بذلك في وقت لاحق، ولكن هذا هو غير موحدة. في بعض التطبيقات، قد يؤدي إجراء فريبين على ستدوت إلى تغيير الوضع، على الرغم من أنني أعتقد أن هذا محظور رسميا في C. (هو التنفيذ المحدد في C.) وعلى ما يبدو، فإنه لا يعمل على التنفيذ الخاص بك. أنت أفضل الرهان هو معرفة كيف نظامك أسماء جهاز وحدة التحكم (ديفتي تحت يونيكس كونس، وأعتقد، تحت ويندوز)، وفتحه في الوضع المطلوب، والإخراج إليها. أجاب 16 16 في 11: 34Ropen تيار مع ملف أو وضع مختلف إعادة تدفق تيار إما لفتح الملف المحدد من قبل اسم الملف أو لتغيير وضع الوصول. إذا تم تحديد اسم ملف جديد، تحاول الدالة أولا إغلاق أي ملف مرتبط بالفعل بتيار (المعلمة الثالثة) ويفصله. بعد ذلك، وبصرف النظر عن ما إذا كان هذا الدفق ناجحا مغلقا أم لا، يفتح فريوبين الملف المحدد من قبل اسم الملف ويربطه مع تيار تماما كما يفعل فوبين باستخدام الوضع المحدد. إذا كان اسم الملف عبارة عن مؤشر فارغ، فإن الدالة تحاول تغيير وضع البث. على الرغم من السماح لتطبيق مكتبة معينة لتقييد التغييرات المسموح بها، وفي ظل أي ظروف. يتم مسح مؤشر الخطأ ومؤشر يوف تلقائيا (كما لو كان يسمى كليرير). هذه الوظيفة مفيدة بشكل خاص لإعادة توجيه تيارات محددة مسبقا مثل ستدين. ستدوت و ستدير إلى ملفات محددة (انظر المثال أدناه). اسم ملف المعلمات سلسلة C تحتوي على اسم الملف المراد فتحه. وتتبع قيمته مواصفات اسم الملف للبيئة الجارية ويمكن أن تشمل مسارا (إذا كان النظام مدعوما). إذا كانت هذه المعلمة عبارة عن مؤشر فارغ، تحاول الدالة تغيير وضع البث. كما لو كان اسم الملف المرتبط حاليا بهذا التدفق قد استخدم. وضع C سلسلة تحتوي على وضع الوصول إلى ملف. يمكن أن يكون: قراءة ملف مفتوح لعمليات الإدخال. يجب أن يكون الملف موجودا. الكتابة: إنشاء ملف فارغ لعمليات الإخراج. إذا كان هناك ملف يحمل نفس الاسم بالفعل، يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. إلحاق: فتح ملف للإخراج في نهاية ملف. عمليات الإنتاج دائما كتابة البيانات في نهاية الملف، وتوسيعه. يتم تجاهل عمليات إعادة التهيئة (فسيك. فسيتوبوس. يتم إنشاء الملف إذا كان غير موجود. ريادوبديت: افتح ملفا للتحديث (سواء للإدخال أو الإخراج). يجب أن يكون الملف موجودا. وريوبوديت: إنشاء ملف فارغ وفتحه للتحديث (سواء للإدخال والمخرجات). إذا كان الملف الذي يحمل نفس الاسم موجود بالفعل يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. أبندوبدات: فتح ملف للتحديث (سواء للإدخال والمخرجات) مع جميع عمليات الانتاج كتابة البيانات في نهاية الملف. عمليات إعادة التهيئة (فسيك. فسيتبوس الترجيع) تؤثر على عمليات الإدخال التالية، ولكن عمليات الإخراج تحريك الموضع مرة أخرى إلى نهاية الملف. يتم إنشاء الملف إذا كان غير موجود. مع محددات الوضع فوق الملف مفتوح كملف نصي. لفتح ملف كملف ثنائي. يجب تضمين حرف b في سلسلة الوضع. ويمكن إضافة هذا الحرف الإضافي b إما في نهاية السلسلة (مما يجعل وسائط المركب التالية: رب أو وب أو أب أو رب أو وب أو أب) أو إدراجها بين الحرف وعلامة للأوضاع المختلطة (رب، وب، أب). ويضيف المعيار C الجديد (C2011، الذي ليس جزءا من C) مضيفا فرعيا جديدا (x)، يمكن إلحاقه بأي محدد (w wxx wxx wxxwbx). يؤدي هذا المقوم الفرعي إلى فشل الدالة إذا كان الملف موجودا، بدلا من الكتابة فوقه. إذا اتبعت أحرف إضافية التسلسل، يعتمد السلوك على تنفيذ المكتبة: قد تتجاهل بعض عمليات التنفيذ أحرف إضافية بحيث يتم على سبيل المثال قبول t إضافية (تستخدم أحيانا لصراحة ملف نصي). على بعض تطبيقات المكتبة، فتح أو إنشاء ملف نصي مع وضع التحديث قد تعامل تيار بدلا من ذلك كملف ثنائي. مؤشر تيار إلى كائن فيل يحدد تيار لإعادة فتح. ريتورن فالو إذا تم إعادة فتح الملف بنجاح، ترجع الدالة المؤشر الذي تم تمريره كتدفق المعلمة. والتي يمكن استخدامها لتحديد تيار أعيد فتحه. وإلا، يتم إرجاع مؤشر نول. في معظم تطبيقات المكتبة، يتم تعيين المتغير إرنو أيضا إلى رمز خطأ نظام معين على الفشل. تحويل الملف الذي تم تحديد اسمه في اسم الملف معلمة ويربط مع تيار التي يمكن تحديدها في العمليات المستقبلية من قبل مؤشر فيل إرجاع . يتم تعريف العمليات المسموح بها على الدفق وكيفية تنفيذها بواسطة معلمة النمط. يتم تخزين دفق عاد بشكل افتراضي بشكل افتراضي إذا كان من المعروف أن لا يشير إلى جهاز تفاعلي (انظر سيتبوف). يمكن إرجاع مؤشر عاد من الملف عن طريق استدعاء فكلوس أو فريوبين. يتم إغلاق كافة الملفات المفتوحة تلقائيا عند إنهاء البرنامج العادي. بيئة التشغيل تدعم ملفات فوبنماكس على الأقل مفتوحة في نفس الوقت. اسم ملف المعلمات سلسلة C تحتوي على اسم الملف المراد فتحه. وتتبع قيمته مواصفات اسم الملف للبيئة الجارية ويمكن أن تشمل مسارا (إذا كان النظام مدعوما). وضع C سلسلة تحتوي على وضع الوصول إلى ملف. يمكن أن يكون: قراءة ملف مفتوح لعمليات الإدخال. يجب أن يكون الملف موجودا. الكتابة: إنشاء ملف فارغ لعمليات الإخراج. إذا كان هناك ملف يحمل نفس الاسم بالفعل، يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. إلحاق: فتح ملف للإخراج في نهاية ملف. عمليات الإنتاج دائما كتابة البيانات في نهاية الملف، وتوسيعه. يتم تجاهل عمليات إعادة التهيئة (فسيك. فسيتوبوس. يتم إنشاء الملف إذا كان غير موجود. ريادوبديت: افتح ملفا للتحديث (سواء للإدخال أو الإخراج). يجب أن يكون الملف موجودا. وريوبوديت: إنشاء ملف فارغ وفتحه للتحديث (سواء للإدخال والمخرجات). إذا كان الملف الذي يحمل نفس الاسم موجود بالفعل يتم تجاهل محتوياته ويتم التعامل مع الملف كملف فارغ جديد. أبندوبدات: فتح ملف للتحديث (سواء للإدخال والمخرجات) مع جميع عمليات الانتاج كتابة البيانات في نهاية الملف. عمليات إعادة التهيئة (فسيك. فسيتبوس الترجيع) تؤثر على عمليات الإدخال التالية، ولكن عمليات الإخراج تحريك الموضع مرة أخرى إلى نهاية الملف. يتم إنشاء الملف إذا كان غير موجود. مع محددات الوضع فوق الملف مفتوح كملف نصي. لفتح ملف كملف ثنائي. يجب تضمين حرف b في سلسلة الوضع. ويمكن إضافة هذا الحرف الإضافي b إما في نهاية السلسلة (مما يجعل وسائط المركب التالية: رب أو وب أو أب أو رب أو وب أو أب) أو إدراجها بين الحرف وعلامة للأوضاع المختلطة (رب، وب، أب). ويضيف المعيار C الجديد (C2011، الذي ليس جزءا من C) مضيفا فرعيا جديدا (x)، يمكن إلحاقه بأي محدد (w wxx wxx wxxwbx). يؤدي هذا المقوم الفرعي إلى فشل الدالة إذا كان الملف موجودا، بدلا من الكتابة فوقه. إذا اتبعت أحرف إضافية التسلسل، يعتمد السلوك على تنفيذ المكتبة: قد تتجاهل بعض عمليات التنفيذ أحرف إضافية بحيث يتم على سبيل المثال قبول t إضافية (تستخدم أحيانا لصراحة ملف نصي). على بعض تطبيقات المكتبة، فتح أو إنشاء ملف نصي مع وضع التحديث قد تعامل تيار بدلا من ذلك كملف ثنائي. الملفات النصية عبارة عن ملفات تحتوي على تسلسل خطوط النص. اعتمادا على البيئة حيث يعمل التطبيق، قد تحدث بعض تحويل خاص الطابع في عمليات إنبوتوتوبوت في وضع النص إلى التكيف مع تنسيق ملف نصي نظام معين. على الرغم من أنه في بعض البيئات لا تحدث تحويلات ويتم التعامل مع الملفات النصية والملفات الثنائية بنفس الطريقة، باستخدام الوضع المناسب يحسن قابلية. بالنسبة للملفات التي يتم فتحها للتحديث (تلك التي تتضمن علامة)، والتي يسمح بها كل من عمليات الإدخال والمخرجات، يتم مسح التيار (ففلوش) أو إعادة وضعه (فسيك. فسيتوبوس الترجيع) قبل عملية القراءة التي تتبع عملية الكتابة. يجب إعادة ضبط التيار (فسيك. فسيتبوس) قبل عملية الكتابة التي تتبع عملية قراءة (كلما لم تصل هذه العملية إلى نهاية الملف). ريتورن فالو إذا تم فتح الملف بنجاح، ترجع الدالة مؤشرا إلى كائن فيل يمكن استخدامه لتحديد دفق العمليات المستقبلية. وإلا، يتم إرجاع مؤشر نول. في معظم تطبيقات المكتبة، يتم تعيين المتغير إرنو أيضا إلى رمز خطأ نظام معين على الفشل.
Comments
Post a Comment