یک برنامه C بنویسید که یک مسیر فایل را با استفاده از fgets از ورودی بخواند و هر بخش دایرکتوری (token) را در یک خط جدا چاپ کند.
8.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:30 0.0
برای حل، از stdio.h و تابع fgets برای خواندن یک خط با بافر مشخص استفاده کنید و خروجی تابع را برای NULL بررسی کنید؛ سپس کاراکتر پایانی newline را حذف کنید. برای جدا کردن بخشهای مسیر میتوانید از strtok (با جداکننده '/') یا یک حلقه ساده برای پیداکردن بخشها استفاده کنید و هر بخش را با printf در خط جدید چاپ کنید؛ توجه کنید که مسیرهای شروعشده با '/' ممکن است بخش خالی تولید کنند که باید مدیریت یا چاپ ریشه شود. اندازه بافر را مناسب انتخاب کرده و از استفاده از gets خودداری کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مهم این است که اندازه بافر را به اندازه کافی بزرگ انتخاب کنید و fgets را بهجای gets استفاده کنید تا از overflow جلوگیری شود. پس از خواندن، کاراکتر newline را حذف کنید. برای جداسازی بخشها میتوانید از strtok با delimiter '/' استفاده کنید یا یک حلقه ساده بنویسید و هر بخش را در یک خط چاپ کنید؛ توجه کنید مسیرهای با شروع '/' گاهی یک بخش خالی تولید میکنند که باید به ریشه توجه شود. این روش با مدیریت newline و ریشه، نتیجهٔ قابلقبول خواهد داد.
گزارش