C++ är ett av de mest kraftfulla programmeringsspråken med hjälp av dess inbyggda metoder för att utföra operationer som sortering, sökning och reversering. Dessa metoder täcker nackdelarna med enkelhet att använda C++ jämfört med andra högnivåprogrammeringsspråk som Java och Python.
I den här artikeln kommer du att lära dig 12 C++-strängmetoder som hjälper dig att utföra operationer på strängar i en bråkdel av koden du har använt.
Vad är strängmetoder i C++?
Strängmetoder är de förbyggda funktionerna som är lagrade i sträng header-fil. Du kan använda dem genom att importera sträng header fil:
#include <string>
Tänk på ett exempel på en strängvariabel str med värdet av “Välkommen till MUO” för att implementera dessa metoder.
string str = “Welcome To MUO”;
1. börja()
De Börja() metod i C++ returnerar en iterator till början av strängen. Skapa en iterator med hjälp av bil nyckelord och lagra den initiala referensen för strängvariabeln med hjälp av str.begin(). Koden nedan visar implementeringen:
auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;
Produktion:
The first character in the string str is: W
2. end()
De slutet() strängmetoden returnerar iteratorn till slutet av strängen. Denna kod skriver ut det sista tecknet i strängvariabeln:
auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;
Produktion:
The first character in the string s is: O
Du kan också gå igenom strängen och skriva ut enskilda tecken med hjälp av Börja() och slutet() metoder. Här är hur :
for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}
3. push_back()
De trycka tillbaka() metod infogar ett tecken i slutet av strängen. Genom att utföra denna operation ökar strängens storlek med 1.
str.push_back('!');
cout<<str;
Utdata från koden ovan kommer att ha ett utropstecken (!) tillsammans med den ursprungliga strängen:
Welcome To MUO!
Du kan också lägga till en uppsättning tecken eller en annan sträng genom att gå igenom och lägga till den tecken för tecken. Tänk på en strängvariabel str2, med värdet “Hej där”. För att lägga till denna variabel till den ursprungliga strängen med hjälp av trycka tillbaka() metod:
string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;
Produktion:
Welcome To MUO! Hi there
4. pop_back()
De pop_back() metod tar bort det sista tecknet i en sträng. Så här kan du prova den här metoden på strängen str:
str.pop_back();
cout<<str<<endl;
Produktion:
Welcome To MU
5. storlek()
De storlek() metod hjälper dig att beräkna längden på strängen.
cout<<"The size of the string str is "<<str.size()<<endl;
6. copy()
De kopiera() metoden kopierar en komplett sträng eller delsträng. Den accepterar tre argument: teckenmatris, delsträngens längd och positionen där strängen ska börja kopiera.
char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;
Produktion:
The value in str2: lcome
7. swap()
De byta() metoden hjälper dig att byta två strängar med varandra. Syntaxen för denna metod är:
string1.swap(string2)
Denna metod accepterar en strängvariabel som ett argument. Du kan köra den här metoden på strängen du vill byta och skriva ut för att kontrollera resultaten.
string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;
Produktion:
String 1 str: Hi There
String 2 str2: Welcome To MUO
8. getline()
De getline() metod lagrar en ström av tecken som accepteras under inmatning. Denna metod accepterar två argument: cin och strängvariabeln.
string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;
Produktion:
Enter a string
Welcome to MUO
9. ändra storlek()
De ändra storlek() metod ändrar längden på strängen genom att dynamiskt öka eller minska den. Den accepterar ett argument: längden som du vill ändra storlek på din sträng.
str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;
Produktion:
The value of str after resizing it: Welcome To
10. kapacitet()
De kapacitet() metod i C++ returnerar den kapacitet som tilldelats strängen. Den kan vara lika med strängens längd eller större än den.
cout<<"The capacity of the string is "<<str.capacity()<<endl;
11. stoi()
De stoi() metod hjälper till att konvertera ett tal i form av en sträng till dess numeriska värde. Den accepterar en parameter: strängvariabeln. Om din strängvariabel har andra tecken förutom siffror, kommer den att filtrera bort dem. Men för att den här metoden ska fungera måste de icke-numeriska strängtecknen följa siffrorna. Om tecknen visas före siffrorna kommer det att returnera ett fel.
Innan du går igenom ovanstående operation, se till att du lagrar den i en heltalsvariabel innan du skriver ut den. Här är ett exempel:
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;
Produktion:
Stoi() for s1: 123
Stoi() for s2: 123
12. rbegin() och rend()
De rbegin() metod returnerar referensen för den omvända iteratorn till strängen i slutet. På liknande sätt rämna() metod returnerar referensen för startiteratorn till strängen i början.
auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;
Du kan också skriva ut baksidan av strängen med rbegin() och rämna() metoder. För att göra det kan du gå igenom strängen och skriva ut den tecken för tecken.
for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}
Produktion:
The last character is: O
The first character is: W
OUM oT emocleW
Ta ett steg före i att lära dig C++
Nu när du har lärt dig att implementera olika strängmetoder av sträng header, kan du känna dig säker på att utforska fler förbyggda metoder i C++ header-filerna. Från sortera() och omvänd() till binary_search(), det finns lite C++ STL inte kan åstadkomma i kodningsvärlden.
Att ta sig tid att lära sig om standardmallbiblioteket är en utmärkt investering för C++-programmerare på alla nivåer. Standardmallbiblioteket tillhandahåller inbyggda funktioner, vanliga datastrukturer och praktiska algoritmer för att göra programmering enkel och effektiv.
Om författaren
Unnati Bamania (14 artiklar publicerade)
Unnati är en entusiastisk fullstack-utvecklare. Hon älskar att bygga projekt med hjälp av olika programmeringsspråk. I henne free tid, hon älskar att spela gitarr och är en matlagningsentusiast.
Mer från Unnati Bamania
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
