الملف المتقلل الذي تم فتحه في القراءة/الكتابة

StackOverflow https://stackoverflow.com/questions/4251600

  •  27-09-2019
  •  | 
  •  

سؤال

في بيرل:

لدي ملف مفتوح في القراءة/الكتابة ، مع قفل حصري.

open( $f, "+< $filename" );
flock( $f, LOCK_EX );

إذا كتبت المزيد من البيانات إلى الملف أكثر مما تمسكه سابقًا ، فسيتم تنمو الملف.
إذا كتبت بيانات أقل ، فإن محتوياتي الجديدة في البداية ، لكن المحتويات القديمة لا تزال موجودة في نهاية الملف.

هذا ليس مفاجئًا ، لكن هذا ليس ما أريده.

هل هناك طريقة بسيطة لتقليص الملف أثناء فتحه في القراءة/الكتابة؟ في الأساس ، أريد أن أخبره بإنهاء الملف في موقع البايت هذا بالضبط.

أعلم أنه يمكنني فتحه بشكل مختلف ، وأنا أفكر في القيام بذلك ، لكن إصلاح سطر واحد سيكون لطيفًا.

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

المحلول

نصائح أخرى

أنا في الواقع لا أعرف بيرل ، لكن منذ ذلك الحين ftruncate(2) ستكون وظيفة C ، ربما هذه يساعد؟

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