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
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 ++ در تمام سطوح است. کتابخانه الگوی استاندارد توابع داخلی ، ساختار داده های متداول و الگوریتم های مفید را برای سهولت و کارآیی برنامه نویسی ارائه می دهد.