Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

C++الدالة substr()

تعريفها

ترجع نص عبارة جزء من النص (Substring) الذي قام باستدعائها.

عند إستدعاء هذه الدالة عندنا خيارين:

  • تحديد من أين تبدأ.
  • تحديد من أين تبدأ و كم حرف نريد أن نأخذ بالضبط.

إذا لم نقم بتحديد كم حرف نريد أن نأخذ من النص, سترجع كل نص الموجود إبتداءاً من رقم الـ index الذي مررناه مكان الباراميتر pos إلى آخر index موجود في النص الذي قام باستدعائها.



بناؤها

هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.

string substr (size_t pos = 0, size_t len = npos) const
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 سيظهر لك الخطأ التالي عند تشغيل البرنامج.



مثال

Main.cpp
#include <iostream>
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;
}
#include <iostream> 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
harmash.com, best site for learning harmash