فایل ها در c


مقدمه: داده هایی که در برنامه های c از آن ها استفاده می کنیم ,در متغیرهای معمولی ,آرایه ها و ساختمان ها ذخیره شده و مورد پردازش قرار می گیرند. متغیرها ,آرایه ها و ساختمان ها روی حافظه RAM قرار می گیرند ,لذا پس از قطع جریان برق (و خاموش شدن کامپیوتر) و یا خروج از برنامه ,داده هایی که در آنها ذخیره شده اند از بین می روند و برای استفاده مجدد از اطلاعات باید آن ها را دوباره وارد کرد (مانند نمرات دانشجویان). برای رفع این مشکل و ذخیره دائمی اطلاعات برنامه ها, نوعی ساختمان داده به نام فایل موزد استفاده قرار می گیرد. فایل ها بر روی حافظه جانبی مثل دیسک ,نوار و … تشکیل می شود. چون اطلاعات موجود در روی حافطه جانبی با قطع جریان برق ,قطع اجرای برنامه و یا دلایلی از این قبیل از بین نمی روند, این اطلاعات به صورت دائمی ذخیره شده و به دفعات زیادی قابل استفاده هستند.

فایل ها


هر فایل شامل مجمووعه ای از داده های مرتبط به هم است . مانند داده های مربوط به کلیه دانشجویان یک دانشگاه. داده های مربوط به هر یک از اجزای فایل ,یک رکورد نام دارد. به عنوان مثال ,در یک دانشگاه داده های مربوط به هر دانشجو تشکیل یک رکورد را می دهند . لذا می توان گفت که هر فایل ,مجموعه ای از چند رکورد است . اگر باز هم دقیق تر به فایل دانشجویان دانشگاه پرداخته شود, مشاهده می شود که هر دانشجو ممکن است چند قلم داده داشته باشد : مثل نام دانشجو ,تعداد واحدهایی که گذرانده ,نمره هر درس و… .به هر یک از اجزای یک رکورد ,فیلد گفته می شود .لذا می توان گفت که هر رکورد مجموعه ای از چند فیلد است.

روش های ذخیره داده ها در فایل


داده ها ممکن است به ۴ روش در فایل ذخیره شده سپس بازیابی شوند:

  1. داده ها کاراکتر به کاراکتر در فایل نوشته شده سپس کاراکتر به کاراکتر از فایل خوانده شوند.
  2. داده ها به صورت رشته ای از کاراکتر ها در فایل نوشته شده به صورت رشته ای از کاراکترها دستیابی شوند.
  3. داده ها در حین نوشتن بر روی  فایل ,با فرمت خاصی نوشته شده سپس با همان فرمت خوانده شوند (عددی ,کاراکتری,رشته ای).
  4. داده ها به شکل ساختمان (رکورد) بر روی فایل نوشته شده سپس به صورت ساختمان از فایل خوانده شوند.

انواع فایل از نظر نوع اطلاعات


داده ها ممکن است در فایل به دو صورت ذخیره شوند:۱) اسکی یا متن ۲) باینری

این دو روش در موارد زیر با یکدیگر تفاوت دارند:

  • نحوه ذخیره شدن اعداد بر روی دیسک
  • تعیین انتهای خط
  • تعیین انتهای فایل

تفاوت متنی و باینری


۱)در فایل متنی ,اعداد به صورت رشته ای از کاراکترها ذخیره می شوند ولی در فایل باینری اعداد به همان صورتی که در حافظه قرار می گیرند بر روی دیسک ذخیره می شوند. ۲) درفایل متننی ,کاراکتری که پایان خط را مشخص می کند ,در حین ذخیره شدن بر روی دیسک ,باید به کاراکترهای CR/LF تبدیل شود و در حین خوانده شدن ,عکس این عمل باید صورت گیرد :یعنی کاراکترهای CR/LF باید به کارکترهای تعیین کننده پایان خط تبدیل شوند و بدیهی است که این تبدیلات مستلزم وقت است,لذا دسترسی به اطلاعات موجود در فایل های متنی کندتر از فایل های باینری  است.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *