برنامهای به زبان C بنویسید که یک نام فایل یا مسیر را از ورودی بخواند و با استفاده از تابع strrchr پسوند فایل را استخراج و چاپ کند و اگر پسوند وجود نداشت پیغام مناسبی نمایش دهد.
4.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:11 0.0
برای حل این مسئله از تابع strrchr در هدر string.h استفاده کنید تا آخرین نقطه ('.') در رشته را پیدا کنید؛ اگر اشارهگر برگشتی NULL بود یا نقطه در انتهای رشته قرار داشت، پسوندی وجود ندارد. قبل از جستجو کاراکتر پایان خط را (در صورت استفاده از fgets) حذف کنید و توجه داشته باشید که اشارهگری که strrchr برمیگرداند به خودِ رشته ورودی اشاره میکند (نباید آن را آزاد کنید) و برای چاپ پسوند از ptr+1 استفاده کنید تا نقطه چاپ نشود. این روش در ابزارهای کامپایلر/مفسر برای تشخیص نوع فایل منبع هنگام پردازش مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
پس از خواندن ورود با fgets، کاراکتر پایان خط را حذف کنید. هنگام استفاده از strrchr برای یافتن نقطه، بررسی کنید که نقطه واقعاً در نام فایل باشد (بهعنوان مثال با بررسی وجود '/' قبل از نقطه) چرا که ممکن است dot در مسیر وجود داشته باشد. به خاطر بسپارید که اشارهگر بازگرداندهشده همان رشته ورودی است و نباید آن را آزاد کنید و برای چاپ پسوند از ptr+1 استفاده کنید تا نقطه چاپ نشود. اگر strrchr برگشت NULL بود یا نقطه در انتهای رشته قرار داشت، پیغام مربوط به بدون پسوند را چاپ کنید.
گزارش