یک برنامه C بنویسید که یک مسیر فایل را با استفاده از fgets از ورودی بخواند و هر بخش دایرکتوری (token) را در یک خط جدا چاپ کند.

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

0.0

برای حل، از stdio.h و تابع fgets برای خواندن یک خط با بافر مشخص استفاده کنید و خروجی تابع را برای NULL بررسی کنید؛ سپس کاراکتر پایانی newline را حذف کنید. برای جدا کردن بخش‌های مسیر می‌توانید از strtok (با جداکننده '/') یا یک حلقه ساده برای پیداکردن بخش‌ها استفاده کنید و هر بخش را با printf در خط جدید چاپ کنید؛ توجه کنید که مسیرهای شروع‌شده با '/' ممکن است بخش خالی تولید کنند که باید مدیریت یا چاپ ریشه شود. اندازه بافر را مناسب انتخاب کرده و از استفاده از gets خودداری کنید.

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

نکته مهم این است که اندازه بافر را به اندازه کافی بزرگ انتخاب کنید و fgets را به‌جای gets استفاده کنید تا از overflow جلوگیری شود. پس از خواندن، کاراکتر newline را حذف کنید. برای جداسازی بخش‌ها می‌توانید از strtok با delimiter '/' استفاده کنید یا یک حلقه ساده بنویسید و هر بخش را در یک خط چاپ کنید؛ توجه کنید مسیرهای با شروع '/' گاهی یک بخش خالی تولید می‌کنند که باید به ریشه توجه شود. این روش با مدیریت newline و ریشه، نتیجهٔ قابل‌قبول خواهد داد.

گزارش

1 پاسخ

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

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