PDA

View Full Version : سوال: حذف یک خط در فایل و اینکه بازدهی کار با فایل چطور هست؟



SajadT2010
چهارشنبه 13 اسفند 1393, 09:43 صبح
سلام خدا قوت

۱- در C++ اگر قرار باشد خط اول یک فایل حذف شود غیر از اینکه یک فایل تمپ در نظر بگیریم و مابقی خطها را کپی کنیم راه حل بهتری وجود دارد؟

۲- اینکه یک برنامه یک فایل را باز کند و این فایل شامل ۲۰۰۰ خط کد باشد و به ازای هر خط کدی اجرا شود که یک فایل جدید ایجاد و ویرایش و rename کند. و این پروسه دایم تکرار شود فشار خیلی زیادی روی هارد میاره یا عادی هست ؟ (من بر اساس اینکه بعضی برنامه ها فایل لاگ مینویسند به همین سرعت و بعضا به مراتب بیشتر فکر میکنم مشکلی ندارد. نظر شما چی هست ؟)
البته اینکه از هارد SSD استفاده شده باشد یا نشده باشد موضوع بحث من نیست. سوال اینه که کلا اینجور برنامه نویسی عاقلانه هست یا باید در کل به فکر راهکار جدید باشم.

ممنون

rahnema1
چهارشنبه 13 اسفند 1393, 19:53 عصر
سلام
راهکار مناسب که همون دیتابیس هست وگرنه که لازمه بصورت ترتیبی فایل متنی بخونید و بنویسید
دیتابیسهای کوچکی مثل sqlite می تونه گزینه مناسبی باشه

SajadT2010
شنبه 16 اسفند 1393, 21:15 عصر
ممنون از شما.
راه حل مناسبی برای حذف خط اول یک فایل دارید ؟

Ananas
شنبه 16 اسفند 1393, 23:49 عصر
من متوجه نشدم منظورتون از "یک خط" چیه. به مظرم فایل متنی منظورتونه. اگر از شیفت استفاده کنید چطوره؟ لازم نیست تمپ بسازید و چون اطلاعات خط اولو نمیخواید کافیه تو یک حلقه اطلاعات رو از ابتدای خط دوم تا آخر فایل کم کم کپی کنید به خط قبلی تو همون فایل.

SajadT2010
یک شنبه 17 اسفند 1393, 00:32 صبح
بله منظورم خط اول یک فایل بود که داخل پست اول کامل سوامو مطرح کرده بودم.
من اینطوری انجام دادم:
یه متغیر تعریف کردم به نام khat که به ازای هر لاین khat++ انجام بشه.
و گفتم اگه خط 0 نبود مابقی خطها را با strcat یکجا جمع کن و در نهایت write کردم تو فایل و مساله حل شد.