Łańcuch to typ struktury danych używany do przechowywania znaków. Łączenie ciągów w C++ to jeden z najczęściej omawianych tematów związanych z ciągami. Istnieje wiele metod łączenia ciągów przy użyciu metod zdefiniowanych przez użytkownika i kilka metod łączenia ciągów przy użyciu metod predefiniowanych. Sprawdźmy wszystkie te metody.

Metody łączenia ciągów
Istnieje 6 metod łączenia Strunowy jak wspomniano niżej:
- Korzystanie z funkcji append().
- Korzystanie z operatora „+”.
- Korzystanie z funkcji strcat().
- Korzystanie z C++ dla pętli.
- Korzystanie z dziedziczenia.
- Korzystanie z funkcji znajomego i funkcji strcat().
1. Korzystanie z funkcji append().
Funkcja append() jest funkcją członkowską metody klasa std::string . Używając tej funkcji, możemy połączyć dwa obiekty std::string (ciągi w stylu C++), jak pokazano w poniższym przykładzie.
Składnia:
string& string::append (const string& str); Here, str: String to be appended.>
Poniżej znajduje się program C++ do łączenia ciągów znaków za pomocą funkcji 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;> }> |
>
>Wyjście
this is init added now>
2. Korzystanie z operatora „+”.
Jest to najłatwiejsza metoda łączenia dwóch ciągów znaków. The + operator dodaje stringi i zwraca połączony ciąg. Ta metoda działa tylko w przypadku ciągów w stylu C++ (obiekty std::string) i nie działa w przypadku ciągów w stylu C (tablica znaków).
Składnia:
string new_string = init + add;>
Poniżej znajduje się program C++ do łączenia ciągów znaków za pomocą operatora „+”:
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;> }> |
>
>Wyjście
this is init added now>
3. Korzystanie z funkcji strcat().
Funkcja strcat() w języku C++ jest funkcją wbudowaną zdefiniowaną w plik nagłówkowy. Ta funkcja łączy dwa ciągi ciepło I dodać a wynik jest zapisywany w pliku ciepło strunowy. Ta funkcja działa tylko w przypadku ciągów w stylu C (tablice znaków) i nie działa w przypadku ciągów w stylu C++ (obiekty std::string).
Składnia:
char * strcat(char * init, const char * add);>
Poniżej znajduje się program C++ do łączenia ciągów znaków przy użyciu funkcji 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;> }> |
jaki jest rozmiar ekranu mojego komputera
>
>Wyjście
this is init added now>
4. Korzystanie z pętli for
Używanie pętli jest jedną z najbardziej podstawowych metod łączenia ciągów. Tutaj dodajemy elementy jeden po drugim, przechodząc przez cały ciąg, a następnie kolejny ciąg. Ostatecznym wynikiem będzie połączony ciąg utworzony z obu ciągów.
Poniżej znajduje się program C++ do łączenia ciągów znaków za pomocą pętli 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;> }> |
>
>Wyjście
this is init added now>
5. Korzystanie z dziedziczenia
Poniżej znajduje się program C++ do łączenia ciągów znaków przy użyciu dziedziczenia:
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;> }> |
>
>Wyjście
this is init added now>
6. Korzystanie z funkcji znajomego i funkcji strcat().
Poniżej znajduje się program C++ do łączenia ciągów znaków przy użyciu funkcji znajomego i funkcji 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;> }> |
>
>Wyjście
this is init added now>