logo

Strengsammenkædning i C++

Strengen er en type datastruktur, der bruges til at gemme tegn. Sammenkædning af strenge i C++ er et af de mest diskuterede emner relateret til strenge. Der er flere metoder til at sammenkæde strenge ved hjælp af brugerdefinerede metoder, og et par metoder til sammenkædning af strenge ved hjælp af foruddefinerede metoder. Lad os se på alle disse metoder.

StringConcatenation-(1)-(1)



Metoder til at sammenkæde strenge

Der er 6 metoder til at sammenkæde Snor som nævnt nedenfor:

  1. Brug af append( ) funktion.
  2. Brug af '+' operatør.
  3. Brug af strcat( ) funktion.
  4. Brug af C++ til Loop.
  5. Brug af arv.
  6. Brug af Friend-funktionen og strcat()-funktionen.

1. Brug af append()-funktionen

Funktionen append() er en medlemsfunktion af std::streng klasse . Ved at bruge denne funktion kan vi sammenkæde to std::string-objekter (C++ stilstrenge) som vist i nedenstående eksempel.

Syntaks:



string& string::append (const string& str);  Here,   str:   String to be appended.>

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af append()-funktionen:

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;> }>

>

>

Produktion

this is init added now>

2. Brug af '+' Operator

Dette er den nemmeste metode til sammenkædning af to strenge. Det + operatør tilføjer strenge og returnerer en sammenkædet streng. Denne metode virker kun for C++-stilstrenge (std::string-objekter) og virker ikke på C-stilstrenge (karakterarray).

Syntaks:

datoformat.format java
string new_string = init + add;>

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af '+'-operatoren:

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;> }>

>

>

Produktion

this is init added now>

3. Brug af funktionen strcat( ).

C++ strcat( )-funktionen er en indbygget funktion defineret i header-fil. Denne funktion sammenkæder de to strenge varme og tilføje og resultatet gemmes i varme snor. Denne funktion virker kun for strenge i C-stil (karakterarrays) og virker ikke for strenge i C++-stil (std::strengobjekter).

Syntaks:

char * strcat(char * init, const char * add);>

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af strcat()-funktionen:

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;> }>

>

>

Produktion

this is init added now>

4. Brug for Loop

Brug af en loop er en af ​​de mest grundlæggende metoder til strengsammenkædning. Her tilføjer vi elementer et efter et, mens vi krydser hele strengen og derefter en anden streng. Det endelige resultat vil være den sammenkædede streng dannet af begge strenge.

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af for loop:

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;> }>

>

>

Produktion

this is init added now>

5. Brug af arv

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af arv:

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;> }>

linux som

>

>

Produktion

this is init added now>

6. Brug af Friend-funktionen og strcat()-funktionen

Nedenfor er C++-programmet til strengsammenkædning ved hjælp af ven-funktionen og strcat()-funktionen:

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;> }>

>

>

Produktion

this is init added now>