Łączenie ciągów w C++

Łączenie ciągów w C++

Ł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.

Łączenie ciągów-(1)-(1)

Metody łączenia ciągów

Istnieje 6 metod łączenia Strunowy jak wspomniano niżej:



  1. Korzystanie z funkcji append().
  2. Korzystanie z operatora „+”.
  3. Korzystanie z funkcji strcat().
  4. Korzystanie z C++ dla pętli.
  5. Korzystanie z dziedziczenia.
  6. 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;> }>

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 


Najpopularniejsze Artykuły

Kategoria

Ciekawe Artykuły