با استفاده از تابع std::strstr از هدر <cstring> برنامه‌ای بنویسید که در یک رشتهٔ حاوی قطعهٔ کد ساده (مثلاً کد تابع) اولین وقوع کلمهٔ "return" را پیدا کرده و اندیس شروع آن را چاپ کند و در صورت عدم وجود، -1 را نمایش دهد.

2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:41

0.0

راهکار: رشتهٔ ورودی را به صورت C‑string (یا از std::string با متد c_str()) به std::strstr بدهید؛ این تابع نشانگری به اولین محل وقوع زیررشته یا nullptr برمی‌گرداند. با تفریق نشانگر برگشتی از آدرس شروع رشته می‌توانید اندیس را حساب کنید. نکات: std::strstr حساس به حروف است، برای تطبیق بدون حساسیت می‌توانید قبل از جستجو رشته‌ها را به حروف کوچک تبدیل کنید؛ همچنین مراقب nullptr بودن نتیجه باشید.

توسط پژوهشگر در 221 روز قبل ساعت 01:41
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 221 روز قبل ساعت 12:22

برای یافتن اولین وقوع کلمه "return" از std::strstr استفاده کنید و با تفریق آدرس آغاز رشته، اندیس آن را بدست آورید. نتیجه را چک کنید که nullptr نباشد؛ در صورت نبودن عبارت مقدار -1 را چاپ کنید. تابع strstr به حروف حساس است؛ اگر می‌خواهید جستجو را بی‌حرفی تفاوت بگذارید، رشته‌ها را قبل از جستجو به lowercase تبدیل کنید یا از روش‌های مقایسهٔ غیرحساسی استفاده کنید. اگر ورودی از std::string است، می‌توانید با s.c_str() به C‑string دسترسی پیدا کنید.

گزارش

1 پاسخ

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

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