Șirul este un tip de structură de date utilizat pentru stocarea caracterelor. Concatenarea șirurilor în C++ este unul dintre cele mai discutate subiecte legate de șiruri. Există mai multe metode de concatenare a șirurilor folosind metode definite de utilizator și câteva metode de concatenare a șirurilor folosind metode predefinite. Să verificăm toate aceste metode.

Metode de concatenare șir
Există 6 metode de concatenare Şir După cum se menționează mai jos:
- Folosind funcția append().
- Folosind operatorul „+”.
- Folosind funcția strcat().
- Folosind C++ for Loop.
- Folosind Moștenirea.
- Folosind funcția Friend și funcția strcat().
1. Folosind funcția append().
Funcția append() este o funcție membră a clasa std::string . Folosind această funcție, putem concatena două obiecte std::string (șiruri de caractere în stil C++), așa cum se arată în exemplul de mai jos.
Sintaxă:
string& string::append (const string& str); Here, str: String to be appended.>
Mai jos este programul C++ pentru concatenarea șirurilor folosind funcția append():
C++
// C++ Program for string> // concatenation using append> #include> using> namespace> std;> // Driver code> int> main()> {> >string init(>'this is init'>);> >string add(>' added now'>);> >// Appending the string.> >init.append(add);> >cout << init << endl;> >return> 0;> }> |
>
>Ieșire
this is init added now>
2. Folosind Operatorul „+”.
Aceasta este cea mai ușoară metodă de concatenare a două șiruri. The + operator adaugă șiruri și returnează un șir concatenat. Această metodă funcționează numai pentru șiruri de caractere în stil C++ (obiecte std::string) și nu funcționează pentru șiruri de caractere în stil C (matrice de caractere).
Sintaxă:
string new_string = init + add;>
Mai jos este programul C++ pentru concatenarea șirurilor folosind operatorul „+”:
C++
// C++ Program for string> // concatenation using '+' operator> #include> using> namespace> std;> // Driver code> int> main()> {> >string init(>'this is init'>);> >string add(>' added now'>);> >// Appending the string.> >init = init + add;> >cout << init << endl;> >return> 0;> }> |
>
>Ieșire
this is init added now>
3. Folosind funcția strcat( ).
Funcția C++ strcat() este o funcție încorporată definită în fișier antet. Această funcție concatenează cele două șiruri căldură și adăuga iar rezultatul este stocat în căldură şir. Această funcție funcționează numai pentru șiruri de caractere în stil C (matrice de caractere) și nu funcționează pentru șiruri de caractere în stil C++ (obiecte std::string).
Sintaxă:
char * strcat(char * init, const char * add);>
Mai jos este programul C++ pentru concatenarea șirurilor folosind funcția strcat():
C++
// C++ Program for string> // concatenation using strcat> #include> #include> using> namespace> std;> // Driver code> int> main()> {> >char> init[] =>'this is init'>;> >char> add[] =>' added now'>;> >// Concatenating the string.> >strcat>(init, add);> >cout << init << endl;> >return> 0;> }> |
>
>Ieșire
this is init added now>
4. Folosind for Loop
Utilizarea unei bucle este una dintre cele mai de bază metode de concatenare a șirurilor. Aici, adăugăm elemente unul câte unul în timp ce parcurgem întregul șir și apoi un alt șir. Rezultatul final va fi șirul concatenat format din ambele șiruri.
Mai jos este programul C++ pentru concatenarea șirurilor folosind bucla for:
C++
// C++ Program for string> // concatenation using for loop> #include> using> namespace> std;> // Driver code> int> main()> {> >string init(>'this is init'>);> >string add(>' added now'>);> >string output;> >// Adding element inside output> >// from init> >for> (>int> i = 0; init[i] !=>' '>; i++)> >{> >output += init[i];> >}> >// Adding element inside output> >// fromt add> >for> (>int> i = 0; add[i] !=>' '>; i++)> >{> >output += add[i];> >}> >cout << output << endl;> >return> 0;> }> |
>
>Ieșire
this is init added now>
5. Folosind Moștenirea
Mai jos este programul C++ pentru concatenarea șirurilor folosind moștenirea:
C++
// C++ program for string concatenation> // using inheritance> #include> #include> using> namespace> std;> > // Base class> class> base> {> >protected>:> >virtual> string concatenate(string &str1,> >string &str2) = 0;> };> > // Derive class> class> derive:>protected> base {> >public>:> >string concatenate (string &str1,> >string &str2)> >{> >string temp;> >temp = str1 + str2;> >return> temp;> >}> };> > // Driver code> int> main()> {> >string init(>'this is init'>);> >string add(>' added now'>);> > >// Create string object> >derive obj;> > >// Print string> >cout << obj.concatenate (init, add);> > >return> 0;> }> |
>
matrice java de listat
>Ieșire
this is init added now>
6. Folosind funcția Friend și funcția strcat().
Mai jos este programul C++ pentru concatenarea șirurilor folosind funcția friend și funcția strcat():
C++
// C++ program for string concatenation> // using friend function and strcat()> #include> #include> using> namespace> std;> // Base class> class> Base {> >public>:> >char> init[100] =>'this is init'>;> >char> add[100] =>' added now'>;> > >friend> void> myfun(Base b);> };> > void> myfun (Base b)> {> >// Pass parameter to concatenate> >strcat> (b.init, b.add);> > >cout << b.init;> }> // Driver code> int> main()> {> > >// Create object of base class> >Base b;> > >// pass b object to myfun() to print> >// the concatenated string> >myfun(b);> > >return> 0;> }> |
>
>Ieșire
this is init added now>