برنامه‌ای بنویسید که با استفاده از تابع freopen از هِدر stdio.h، ورودی را از فایل "input.txt" به stdin وصل کرده، خطوط را می‌خواند و تعداد خطوط غیرخالی را در فایل "output.txt" چاپ کند.

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:25

0.0

در این برنامه از هِدر stdio.h و تابع freopen برای تغییر مسیر stdin و stdout استفاده کنید: ابتدا با freopen("input.txt","r",stdin) ورودی را به فایل ورودی منتقل کنید و در صورت شکست خطا را به stderr گزارش دهید، سپس با حلقه‌ای مثل fgets هر خط را بخوانید و با بررسی وجود کاراکترهای غیرفاصله (مثل استفاده از isspace یا پیمایش رشته) خط‌های غیرخالی را شمارش کنید. در پایان با freopen("output.txt","w",stdout) خروجی را به فایل مورد نظر بفرستید و شمارش را با printf چاپ کنید؛ رعایت بررسی مقادیر بازگشتی freopen و مدیریت سادهٔ خطاها از نکات مهم است.

توسط پژوهشگر در 202 روز قبل ساعت 02:25
دسته بندی ها: C for beginner
arash در 202 روز قبل ساعت 09:46

نکتهٔ مهم این است که هنگام استفاده از freopen برای تغییر مسیر stdin و stdout، نتیجهٔ بازگشت تابع را بررسی کنید و در صورت شکست، پیام خطا را به STDERR بنویسید. برای تشخیص خطوط غیرخالی می‌توانید هر خط را با fgets بخوانید و وجود کاراکتر غیر فاصله را با پیمایش کاراکترها یا استفاده از isspace بررسی کنید. سپس با freopen("output.txt","w",stdout) خروجی را به فایل مقصد بفرستید و شمارش خطوط غیرخالی را با printf چاپ کنید. همچنین به مدیریت خطاها و بازگرداندن منابع در صورت نیاز توجه کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری