یک برنامهٔ C بنویسید که نام فایل کد منبع C را از آرگومان خط فرمان بگیرد، محتوای فایل را بخواند و با استفاده از تابع strstr از string.h بررسی کند آیا تابع main (بهعنوان "int main" یا "main(") و کلمهکلیدی return در فایل وجود دارند یا نه و نتیجه را چاپ کند.
5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:30 0.0
فایل را با fopen باز کنید، اندازهٔ آن را با fseek/ftell بدست آورید، با malloc با یک بایت اضافی حافظه برای '\0' اختصاص دهید و با fread کل محتوا را بخوانید و خاتمهٔ رشته را قرار دهید. برای جستجو از تابع strstr از هدر string.h استفاده کنید (مثلاً دنبال "int main" یا "main(" و "return" بگردید)، حضور یا عدم حضور هر الگو را گزارش دهید؛ خطاها مثل بازنشدن فایل یا پیام مناسبی چاپ کنید و در پایان حافظه را آزاد و فایل را ببندید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
طرح شما خوب است، اما strstr فقط جستجوی کاراکتری را انجام میدهد و ممکن است وجود 'int main' یا 'return' را در کامنتها یا رشتهها هم بیابد؛ بنابراین نتیجهٔ جستجو باید با در نظر گرفتن زمینهٔ کد اعتبارسنجی شود. برای پائین نگه داشتن خطاها، حتماً خطای fopen را گزارش دهید و پس از پایان کار منابع را آزاد کنید. همچنین تخصیص حافظه باید با اندازهٔ فایل بهدرستی انجام شود و پایان رشته با '\0' کاراکتری مناسب باشد تا استفاده از strstr بیمشکل باشد. نهایتاً توصیه میکنم به شکلی کارا نتایج را به کاربر گزارش کنید، مثلاً وجود یا عدم وجود هر الگو را صریحاً چاپ کنید.
گزارش