C++الدالة substr()
تعريفها
ترجع نص عبارة جزء من النص (Substring) الذي قام باستدعائها.
عند إستدعاء هذه الدالة عندنا خيارين:
- تحديد من أين تبدأ.
- تحديد من أين تبدأ و كم حرف نريد أن نأخذ بالضبط.
إذا لم نقم بتحديد كم حرف نريد أن نأخذ من النص, سترجع كل نص الموجود إبتداءاً من رقم الـ index الذي مررناه مكان الباراميتر pos
إلى آخر index موجود في النص الذي قام باستدعائها.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
string substr (size_t pos = 0, size_t len = npos) const
باراميترات
- مكان الباراميتر
pos
نمررindex
الحرف الذي نريد البدء بنسخ النص من عنده. - مكان الباراميتر
len
يمكنك تمرير رقم يمثل كم حرف تريد أن تنسخ من عندindex
الباراميترpos
إن لم ترد نسخ كل النص الموجود.
قيمة الإرجاع
ترجع String
عبارة عن substr من الـ String
الذي قام باستدعائها.
أخطاء محتملة
std::out_of_range: في حال قمت بتمرير رقم index غير موجود في النص مكان الباراميتر pos
سيظهر لك الخطأ التالي عند تشغيل البرنامج.
مثال
using namespace std; int main() { // str هنا قمنا بتعريف متغير نصي إسمه string str = "welcome to harmash.com, best site for learning"; cout << str.substr(11) << endl; // رقم 11 index كل النص الموجود إبتداءاً من الحرف الموجود على الـ substr() هنا سترجع الدالة cout << str.substr(11, 7) << endl; // رقم 11 index أول 7 أحرف موجودة في النص إبتداءاً من الـ substr() هنا سترجع الدالة return 0; }
سنحصل على النتيجة التالية عند التشغيل.
harmash.com, best site for learning
harmash