خوب من براتون یه کد ساده نوشتم و عملیات نوشتن/خواندن/ویرایش رو میتونید در آن مشاهده کنید. (قبل از هر چیز بگم که کدهایی که بنده نوشته ام فقط جنبه آموزشی دارند و به هیچ وجه استفاده از آنها در برنامه های غیرآموزشی توصیه نمیشود)
------
اما میرسیم به مبحث حذف که کلا یک بحث جداگانه داره. در حقیقت چیزی به نام حذف اطلاعات در سیستم های کامپیوتری وجود ندارد! اصلا واژه حذف کردن/پاک کردن/delete/.... به آن معنی که ظاهران هستند عمل نمیکنند و در اصل اعمال دیگری پشت این کلمات وجود دارد.( اگر از پایین ترین سطح به آن نگاه کنیم یک HardDisk هیچگاه داده ایی را
حذف نمیکند بلکه به روشهای مختلفی آن را نادیده میگیرد و اجازه نوشتن مجدد بر روی آن قسمت را میدهد)
اما در رابطه با این موضوع چندتا راه مختلف وجود دارد که هرکدام ویژگی های خودشونو رو دارند. زمانی که شما بصورت باینری به یک فایل دسترسی پیدا میکنید, برنامه شما تمام اطلاعات موجود در فایل رو بصورت بایت میبیند و مثلا چیزی به عنوان جمله یا کلمه و یا کاراکتر های backspace و ... وجود ندارد.یعنی نمیتوانید مانند یک فایل متنی اطلاعات رو پاک کنید.اما میتونید مثلا یک رکورد رو کلا با کاراکتر "0/"
پر کنید یا مثلا برای هر رکورد یک فلگ حذف قرار بدید و اگر رکوردی فلگ حذف داشت در اصل آن رکورد از دید برنامه پاک شده بحساب میاد و ...
برای shift دادن اطلاعات شما میتوانید با یک محاسبه ساده
تعداد رکورد های موجود رو بدست بیارید بعد
تمامی رکوردهای بعد از رکورد پاک شده رو بخوانید سپس
اشارگر نوشتن رو بر روی ابتدای رکورد پاک شده قرار بدید سپس
تمام رکرودهای خوانده شده رو بنویسید و در آخر هم
رکوردهای تکراری رو از انتهای فایل پاک کنید(به همان شکلی که گفتم مثلا با کاراکتر "0/" پر کنید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید