یک برنامهٔ C بنویسید که نام فایل را از ورودی دریافت کند، اندازهٔ فایل را با استفاده از fseek و ftell تعیین کند و سپس ۱۰۰ بایت اول فایل را بخواند و موقعیت جاری فایل (offset) را با ftell نمایش دهد.
8.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:49 0.0
برای حل، از stdio.h استفاده کنید: با fopen فایل را باز کنید، با fseek(file, 0, SEEK_END) به انتها بروید و با ftell اندازهٔ فایل را بگیرید، سپس با rewind یا fseek به ابتدای فایل بازگردید و با fread صد بایت بخوانید و دوباره با ftell موقعیت جاری را نمایش دهید. خطاها را (مثل باز نشدن فایل یا خواندن کمتر از ۱۰۰ بایت) بررسی کنید و در پایان فایل را ببندید. این تمرین برای آشنایی با توابع فایلی stdio و مفاهیم offset در برنامهنویسی سیستم است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ مفید: برای خواندن دقیق بایتها بهتر است فایل را به صورت باینری باز کنید (rb) تا تأثیر تبدیلهای متن حذف شود. هنگام استفاده از ftell و fseek، حتماً خطاها را بررسی کنید و برای بازگشت به ابتدای فایل از rewind یا fseek با موقعیت ۰ استفاده کنید. اگر اندازهٔ فایل کمتر از ۱۰۰ بایت بود، هیچ اشکالی ندارد، فقط به همان مقدار بخوانید و موقعیت را با ftell دوباره گزارش کنید. در پایان با fclose فایل را ببندید.
گزارش