logo

Concatenazione di stringhe in C++

La stringa è un tipo di struttura dati utilizzata per memorizzare caratteri. La concatenazione di stringhe in C++ è uno degli argomenti più discussi relativi alle stringhe. Esistono più metodi per concatenare le stringhe utilizzando metodi definiti dall'utente e un paio di metodi per concatenare le stringhe utilizzando metodi predefiniti. Controlliamo tutti questi metodi.

Concatenazione di stringhe-(1)-(1)



Metodi di concatenazione di stringhe

Esistono 6 metodi per concatenare Corda come menzionato sotto:

  1. Utilizzando la funzione append().
  2. Utilizzando l'operatore '+'.
  3. Utilizzando la funzione strcat().
  4. Utilizzo di C++ per Loop.
  5. Utilizzo dell'ereditarietà.
  6. Utilizzando la funzione Friend e la funzione strcat().

1. Utilizzo della funzione append()

La funzione append() è una funzione membro di classe std::string . Usando questa funzione, possiamo concatenare due oggetti std::string (stringhe in stile C++) come mostrato nell'esempio seguente.

Sintassi:



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

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando la funzione 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;> }>

>

>

Produzione

this is init added now>

2. Utilizzando l'operatore '+'.

Questo è il metodo più semplice per concatenare due stringhe. IL + operatore aggiunge stringhe e restituisce una stringa concatenata. Questo metodo funziona solo per stringhe in stile C++ (oggetti std::string) e non funziona su stringhe in stile C (array di caratteri).

Sintassi:

string new_string = init + add;>

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando l'operatore '+':

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

>

ordinamento dell'array Java

>

Produzione

this is init added now>

3. Utilizzo della funzione strcat()

La funzione C++ strcat() è una funzione integrata definita in file di intestazione. Questa funzione concatena le due stringhe Calore E aggiungere e il risultato viene memorizzato nel file Calore corda. Questa funzione funziona solo per le stringhe in stile C (array di caratteri) e non funziona per le stringhe in stile C++ (oggetti std::string).

Sintassi:

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

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando la funzione 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;> }>

>

>

Produzione

this is init added now>

4. Utilizzo del ciclo for

L'uso di un loop è uno dei metodi più basilari per concatenare le stringhe. Qui stiamo aggiungendo gli elementi uno per uno mentre attraversiamo l'intera stringa e poi un'altra stringa. Il risultato finale sarà la stringa concatenata formata da entrambe le stringhe.

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando il ciclo for:

C++




scorrere la mappa java

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

>

>

Produzione

this is init added now>

5. Utilizzo dell'ereditarietà

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando l'ereditarietà:

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

>

>

Produzione

this is init added now>

6. Utilizzando la funzione Friend e la funzione strcat()

Di seguito è riportato il programma C++ per la concatenazione di stringhe utilizzando la funzione friend e la funzione 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;> }>

>

>

Produzione

this is init added now>