×

C++ String Concatenation

C++ String Concatenation

In this section, we will learn about C ++ String Concatenation, what it does, how it works, and will also see its programs.

What is the String Concatenation?

The + operator can be used to form a new string between strings to link them together. That is known as concatenation.

There are different ways to perform concatenation of strings. We will be discussing each one of them.

Using strcat() function.

The strcat) (function is set to the header file of "string.h."

Syntax:           

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

The string init and add should be of character array(char *). This function concatenates the added string to the init string end.

Example:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    char init[] = " init";
    char add[] = " join this ";
    strcat(init, add);
    cout << init << endl;
    return 0;
}

Output:

C++ String Concatenation

Using append() function.

A string in C++ is actually an object that contains functions to perform some string operations. For, e.g., you can also use the function append() to concatenate strings.

Syntax:-

String & string::append ( const string& str )

Here str is the std::string class object, which is an instantiation of the basic string class template which uses char as a type of its character. At the end of the0 init string, the append function appends the add(variable) string.

In the above example, we added space on output after firstName to create a space between Mike and Johnson. You can, however, also add a space with quotes ("or"):

#include <iostream>
#include <string>
using namespace std;
int main () {
  string firstName = "Mike";
  string lastName = "Johnson";
  string fullName = firstName.append(lastName);
  cout << fullName;
  return 0;
}

Output:

C++ String Concatenation

Whether you want to use + or append() is up to you. The key difference between the two is that the function append() is much quicker. Nonetheless, it may be better to only use + for checking and so on.

Using ‘+’ Operator

Syntax:

string new_string = string init + string add;

It is the simplest way to merge two strings. The + operator actually puts the two strings together and returns a concatenated string.

Example:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string cha1("Hello,");
    string cha2("my name is mike johnson.");
    string cha3("I am a software developer");
    string cha4(" in Company ");
    string cha5(" from Us");
    string cha6(" As a good developer");
    // Appending the string.
   cha1 = cha1 + cha2 + cha3 + cha4  + cha5 + cha6;
    cout << cha1 << endl;
    return 0;
}

Output:

C++ String Concatenation

Example

#include <iostream>
using namespace std;
int main()
{
    string s1, s2, result;
    cout << "Enter string s1: ";
    getline (cin, s1);
    cout << "Enter string s2: ";
    getline (cin, s2);
    result = s1 + s2;
    cout << "Resultant String = "<< result;
    return 0;
}

Output:

C++ String Concatenation

Without using function

For this, we concatenate two separate strings without using strcat() as the concatenation function.

Example:

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
          //declare strings
          char string1[100];
          char string2[100];
          //input first string
          cout<<"Enter first string : "<<endl;
          cin.getline(string1,100);
          //input second string
          cout<<"Enter second string : "<<endl;
          cin.getline(string2,100);
          //variable as loop counnters
          int k, f;
          //keep first string same
          for(k=0; string1[k] != '\0'; k++)
          {
                   ;
          }
          //copy the characters of string 2 in string1
          for(f=0; string2[f] != '\0'; f++,k++)
          {
                   string1[k]=string2[f];
          }
          //insert NULL
          string1[k]='\0';
          //printing
          cout<<string1<<endl;
          return 0;
}

Output:

C++ String Concatenation

Related Topics

Vector in C++

Vector in C++ In today’s article, we will be learning all the things about vector in C++ and how vector is different form an array in C++. So basically, vector is very...

3 minutes read.

Pointers in C++

Pointers are a powerful feature in the C++ programming language, allowing developers to directly manipulate memory addresses and create more efficient and dynamic programs. However, pointers can also source various...

3 minutes read.

Hexadecimal to Decimal in C++

In computers, hexadecimal numbers are represented with base 16 and decimal numbers are represented with base 10 and values 0-9, whereas hexadecimal numbers have digits ranging from 0 to 15,...

3 minutes read.

C++ Iterators

What are iterators ? Iterators are among the four foundations of the C++ Standard Template Library, also known as the STL. The memory address of the STL container classes is pointed...

15 minutes read.

Object Slicing in C++

In this article, we will learn about Object slicing. When an object from a derived class is assigned to an object from a base class in C++, these extra attributes...

3 minutes read.

C++ Exception Handling

Exception is an unexpected problem that occurs at program run time. This problem might include condition such as division by zero, running out of memory space, array out of bonds, etc....

2 minutes read.

C++ Call by Value

In this article, we will discuss C++ Call by Value with their syntax, examples, use cases, advantages, and disadvantages. C++ Function A function is a set of statements that executes a task....

5 minutes read.

Desired Capabilities in Selenium Web Driver in C++

A class called Desired Capabilities is used to specify a set of fundamental requirements, such as browser, operating system, and version combinations.to carry out automated testing of a web application...

7 minutes read.

C++ | C Plus Plus Data type

Data type in every language is very important. Data type means the different kinds of data that are supported by a particular programming language. A computer language’s data types specify the...

15 minutes read.

Counting Frequencies of Array Elements in C++

We have an array of integer items with duplicate values, and our objective is to compute the frequencies of the different elements in the array. Methods: Methods that can be used to...

3 minutes read.

Dynamic Constructor in C++

Dynamic constructors create dynamic memory by using a dynamic memory allocator new within the constructor. This allows us to initialize objects dynamically. The term dynamic constructor is used when memory...

2 minutes read.

Print Table Using For-loop in C++

Multiplication Table In mathematics, a table is created by multiplying a certain number by all of the counting numbers, i.e., 1, 2, 3, 4, 5, 6, and so on. It is...

3 minutes read.

Pthreads or POSIX Threads in C++

The thread API for C/C++ is implemented by pthreads or POSIX threads. It enables the multithreading system, which enables parallel and distributed processing, and the creation of new concurrent process...

3 minutes read.

Preventing Object Copy in C++

C++ is an object-oriented programming language that provides the ability to create objects, define class and pass objects to functions. When passing an object to a function or returning an...

7 minutes read.

C++ Nested if

C++'s nested if statements enable more complex decision-making when a section of code needs to execute only after a set of conditions is met. The nested if control statement refers...

4 minutes read.

Pure Virtual Function in C++ With Example Program

What is a Virtual Function? A virtual function is created inside a class with the keyword virtual. A virtual function does not have any value to be returned. Once a virtual...

3 minutes read.

Array of sets in C++

Instead of defining distinct variables for each item, arrays are used to hold numerous values in a single variable. A collection of data objects stored in a continuous way is...

6 minutes read.

Observer Design Pattern in C++

The Observer design pattern is a behavioural design pattern that allows an object (known as the subject) to notify other objects (known as observers) when its state changes. This is...

3 minutes read.

std::min in C++

std::min in C++ std::min is specified in the program code, used to calculate the lowest amount that has been transferred. When there's more of someone who returns first of them. It's used...

2 minutes read.

C++ Aggregation

C++ Aggregation Definition: In C++, aggregation is a process in which one class (as an entity reference) defines another class. It provides another way to reuse the class. It represents...

4 minutes read.