12 روش رشته ای C ++ که باید امروز بر آنها مسلط شوید

C ++ یکی از قدرتمندترین زبانهای برنامه نویسی است که به کمک روشهای داخلی خود قادر به انجام عملیات مانند مرتب سازی ، جستجو و معکوس شدن است. این روشها در مقایسه با دیگر زبانهای برنامه نویسی سطح بالا مانند جاوا و پایتون ، اشکالات سهولت استفاده را پوشش می دهد.

در این مقاله ، شما 12 روش رشته C ++ را می آموزید که به شما کمک می کند تا در قسمتی از کدی که استفاده می کنید ، روی رشته ها عمل کنید.

روشهای رشته در C ++ چیست؟

متدهای رشته ای توابع از پیش ساخته شده ای هستند که در فایل سربرگ رشته ذخیره می شوند. با وارد کردن فایل سرصفحه رشته می توانید از آنها استفاده کنید:

 #include <string>

یک متغیر خ مثال رشته در نظر بگیرید با ارزش "خوش آمدید برای MUO" برای اجرای این روش ها.

 string str = “Welcome To MUO”;

مطالب مرتبط: روشهای رشته ای جاوا اسکریپت که باید امروز بر آنها مسلط شوید

1. شروع ()

متد begin () در C ++ یک تکرار کننده را به ابتدای رشته باز می گرداند. با استفاده از کلمه کلیدی auto یک تکرار کننده ایجاد کنید و مرجع اولیه متغیر رشته را با استفاده از str.begin () ذخیره کنید. کد زیر پیاده سازی را نشان می دهد:

 auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;

خروجی :

 The first character in the string str is: W

2. پایان ()

متد string () end () تکرار کننده را به انتهای رشته باز می گرداند. این کد آخرین کاراکتر متغیر رشته را چاپ می کند:

 auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;

خروجی :

 The first character in the string s is: O

همچنین می توانید رشته را حلقه کرده و کاراکترهای جداگانه را با استفاده از متدهای شروع () و پایان () چاپ کنید . در اینجا نحوه:

 for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}

3. push_back ()

متد push_back () یک کاراکتر را در انتهای رشته وارد می کند. با انجام این عمل ، اندازه رشته 1 افزایش می یابد.

 str.push_back('!');
cout<<str;

خروجی کد بالا همراه با رشته اصلی دارای علامت تعجب (!) است:

 Welcome To MUO!

همچنین می توانید مجموعه ای از کاراکترها یا یک رشته دیگر را با حلقه کردن و افزودن آن به کاراکتر به کاراکتر اضافه کنید. یک متغیر رشته ای str2 را در نظر بگیرید ، با مقدار "سلام آنجا". برای افزودن این متغیر به رشته اصلی با استفاده از روش push_back () :

 string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;

خروجی :

 Welcome To MUO! Hi there

4. pop_back ()

متد pop_back () آخرین کاراکتر یک رشته را حذف می کند. در اینجا نحوه استفاده از این روش در str string آمده است:

 str.pop_back();
cout<<str<<endl;

خروجی :

 Welcome To MU

5. اندازه ()

متد size () به شما کمک می کند طول رشته را محاسبه کنید.

 cout<<"The size of the string str is "<<str.size()<<endl;

6. کپی ()

متد copy () یک رشته یا زیر رشته کامل را کپی می کند. این سه آرگومان را می پذیرد: آرایه کاراکتر ، طول زیر رشته ، و موقعیتی که کپی رشته باید از آن شروع شود.

 char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;

خروجی :

 The value in str2: lcome

7. مبادله ()

روش swap () به شما کمک می کند دو رشته را با یکدیگر عوض کنید. نحو این روش به شرح زیر است:

 string1.swap(string2)

این متد یک متغیر رشته ای را به عنوان آرگومان می پذیرد. برای بررسی نتایج می توانید این روش را روی رشته ای که می خواهید مبادله و چاپ کنید اجرا کنید.

 string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;

خروجی :

 String 1 str: Hi There
String 2 str2: Welcome To MUO

مطالب مرتبط: نحوه تعویض دو متغیر در C ++ ، Python و JavaScript

8. getline ()

روش getline () یک جریان از کاراکترهای پذیرفته شده در حین ورودی را ذخیره می کند. این متد دو آرگومان می پذیرد: cin و متغیر string.

 string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;

خروجی :

 Enter a string
Welcome to MUO

9. تغییر اندازه ()

روش تغییر اندازه () طول رشته را با افزایش یا کاهش پویا تغییر می دهد. این یک آرگومان را می پذیرد: طولی که می خواهید رشته خود را تغییر دهید.

 str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;

خروجی :

 The value of str after resizing it: Welcome To

10. ظرفیت ()

متد ظرفیت () در C ++ ظرفیت اختصاص داده شده به رشته را برمی گرداند. می تواند برابر طول رشته یا بیشتر از آن باشد.

 cout<<"The capacity of the string is "<<str.capacity()<<endl;

11. stoi ()

متد stoi () به تبدیل یک عدد در قالب یک رشته به مقدار عددی آن کمک می کند. این یک پارامتر را می پذیرد: متغیر رشته. اگر متغیر رشته شما به غیر از اعداد دارای کاراکترهای دیگر باشد ، آنها را فیلتر می کند. اما برای کارکرد این روش ، نویسه های رشته ای غیر عددی باید از اعداد پیروی کنند. اگر نویسه ها قبل از اعداد ظاهر شوند ، خطا را برمی گرداند.

قبل از انجام عملیات بالا ، قبل از چاپ مطمئن شوید که آن را در یک متغیر صحیح ذخیره کرده اید. در اینجا مثالی آورده شده است:

 string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;

خروجی :

 Stoi() for s1: 123
Stoi() for s2: 123

12. rbegin () و rend ()

متد rbegin () مرجع تکرار کننده معکوس را در پایان به رشته باز می گرداند. به طور مشابه ، متد rend () مرجع تکرار کننده شروع را به رشته در ابتدا باز می گرداند.

 auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;

همچنین می توانید معکوس رشته را با استفاده از متدهای rbegin () و rend () چاپ کنید . برای انجام این کار ، می توانید رشته را حلقه کرده و آن را به صورت کاراکتر چاپ کنید.

 for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}

خروجی :

 The last character is: O
The first character is: W
OUM oT emocleW

در یادگیری زبان ++ C قدمی بردارید

اکنون که پیاده سازی روشهای مختلف رشته سرصفحه رشته را آموخته اید ، می توانید با اطمینان بیشتر از روشهای از پیش ساخته شده در فایلهای هدر C ++ استفاده کنید. از مرتب سازی () و معکوس () تا binary_search () ، STL+ C کمی نمی تواند در دنیای برنامه نویسی انجام دهد.

صرف وقت برای یادگیری درباره کتابخانه الگوی استاندارد ، سرمایه گذاری عالی برای برنامه نویسان C ++ در تمام سطوح است. کتابخانه الگوی استاندارد توابع داخلی ، ساختار داده های متداول و الگوریتم های مفید را برای سهولت و کارآیی برنامه نویسی ارائه می دهد.