logo

Конкатенація рядків у C++

Рядок — це тип структури даних, що використовується для зберігання символів. Конкатенація рядків у C++ є однією з найбільш обговорюваних тем, пов’язаних із рядками. Існує кілька методів конкатенації рядків за допомогою методів, визначених користувачем, і кілька методів для конкатенації рядків за допомогою попередньо визначених методів. Давайте перевіримо всі ці методи.

Об'єднання рядків-(1)-(1)



Методи конкатенації рядків

Існує 6 методів конкатенації Рядок як зазначено нижче:

  1. Використання функції append().
  2. Використання оператора «+».
  3. Використання функції strcat().
  4. Використання C++ для циклу.
  5. Використання спадкування.
  6. Використання функції Friend і функції strcat().

1. Використання функції append().

Функція append() є функцією-членом std::string клас . Використовуючи цю функцію, ми можемо об’єднати два об’єкти std::string (рядки стилю C++), як показано в прикладі нижче.

Синтаксис:



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

Нижче наведено програму C++ для конкатенації рядків за допомогою функції append():

linux make

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

>

>

Вихід

this is init added now>

2. Використання оператора «+».

Це найпростіший метод конкатенації двох рядків. The + оператор додає рядки і повертає об’єднаний рядок. Цей метод працює лише для рядків стилю C++ (об’єкти std::string) і не працює з рядками стилю C (масив символів).

Синтаксис:

string new_string = init + add;>

Нижче наведено програму C++ для конкатенації рядків за допомогою оператора «+»:

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

>

>

Вихід

this is init added now>

3. Використання функції strcat().

Функція C++ strcat() є вбудованою функцією, визначеною в файл заголовка. Ця функція об’єднує два рядки тепло і додати і результат зберігається в тепло рядок. Ця функція працює лише для рядків у стилі C (масивів символів) і не працює для рядків у стилі C++ (об’єкти std::string).

Синтаксис:

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

Нижче наведено програму C++ для конкатенації рядків за допомогою функції 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;> }>

>

>

Вихід

this is init added now>

4. Використання циклу for

Використання циклу є одним із основних методів конкатенації рядків. Тут ми додаємо елементи один за одним, обходячи весь рядок, а потім інший рядок. Кінцевим результатом буде об’єднаний рядок, утворений з обох рядків.

Нижче наведено програму C++ для конкатенації рядків за допомогою циклу 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;> }>

>

>

Вихід

this is init added now>

5. Використання успадкування

Нижче наведено програму C++ для конкатенації рядків із використанням успадкування:

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

>

рядок java в json

>

Вихід

this is init added now>

6. Використання функції Friend і функції strcat().

Нижче наведено програму C++ для конкатенації рядків за допомогою функції friend і функції 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;> }>

>

>

Вихід

this is init added now>