فتح ملف في وضع "A+"
-
01-10-2019 - |
سؤال
إذا تم فتح ملف باستخدام الأمر التالي:
FILE *f1=fopen("test.dat","a+");
تقول صفحة الرجل:
A+
افتح للقراءة والإلحاق (الكتابة في نهاية الملف). يتم إنشاء الملف إذا كان غير موجود. يكون موضع الملف الأولي للقراءة في بداية الملف ، ولكن يتم إلحاق الإخراج دائمًا بنهاية الملف.
كذلك f1
هل لديك 2 مؤشرات إزاحة منفصلة ، واحدة للقراءة والآخر للكتابة؟
المحلول
رقم.
هناك مؤشر واحد فقط في البداية في بداية الملف ولكن عند محاولة عملية الكتابة ، يتم نقلها إلى نهاية الملف. يمكنك إعادة وضعه باستخدام fseek
أو rewind
في أي مكان في ملف القراءة ، ولكن عمليات الكتابة ستعيدها إلى نهاية الملف.
نصائح أخرى
لا لديه مؤشر واحد فقط.
تستطيع أبداً امزج عمليات القراءة والكتابة على أ FILE
دون الاتصال fseek
ما بين أثنين. قد ينجح الأمر كما ترغب في بعض التطبيقات ، ولكن البرنامج الذي يعتمد على هذا له سلوك غير محدد. وبالتالي فإن أسئلة وجود 2 وظائف لا معنى لها.