سؤال

إذا تم فتح ملف باستخدام الأمر التالي:

FILE *f1=fopen("test.dat","a+");

تقول صفحة الرجل:

A+

افتح للقراءة والإلحاق (الكتابة في نهاية الملف). يتم إنشاء الملف إذا كان غير موجود. يكون موضع الملف الأولي للقراءة في بداية الملف ، ولكن يتم إلحاق الإخراج دائمًا بنهاية الملف.

كذلك f1 هل لديك 2 مؤشرات إزاحة منفصلة ، واحدة للقراءة والآخر للكتابة؟

هل كانت مفيدة؟

المحلول

رقم.

هناك مؤشر واحد فقط في البداية في بداية الملف ولكن عند محاولة عملية الكتابة ، يتم نقلها إلى نهاية الملف. يمكنك إعادة وضعه باستخدام fseek أو rewind في أي مكان في ملف القراءة ، ولكن عمليات الكتابة ستعيدها إلى نهاية الملف.

نصائح أخرى

لا لديه مؤشر واحد فقط.

تستطيع أبداً امزج عمليات القراءة والكتابة على أ FILE دون الاتصال fseek ما بين أثنين. قد ينجح الأمر كما ترغب في بعض التطبيقات ، ولكن البرنامج الذي يعتمد على هذا له سلوك غير محدد. وبالتالي فإن أسئلة وجود 2 وظائف لا معنى لها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top