June 24, 2026

C++ String Manipulation

In this lesson, you will learn about string manipulation in C++. We’ll cover all the various operations that you can do with strings.

  1. C-Type Strings
  2. C++ String Object
  3. String Manipulation Functions from C
  4. String Manipulation with C++ String Class

 

1. C-Type Strings

As you know, C++ supersets the C language. Therefore, it supports string functionalities from C. This is also called C-String. Strings in C are 1-dimensional array of characters that is terminated by a null character, ‘\0’ (ASCII code for 0).

To define a C-string in C++ use the code below;

char name[] = "Kindson";

In the code above, the string name is created and holds 7 characters.

char str[4] = "Kindson";
	 
char str[] = {'K','i','n', 'd', 's', 'o', 'n', '\0'};

char str[4] = {'H','e','l', 'l', 'o', '\0'};

The program below uses a C-type string to read a name from the input. Then displays the name to the output.

int main () {
	//you must provide a size
	char name[20];
	cout << "Please enter your name: ";
	cin >> name;
	cout << "Hello " << name << endl;
}

 

2. C++ String Object

C++ also provides it’s own string class. So you can create string object. This class is provided by the standard C++ library. Unlike character array from C, the C++ string does not have a fixed length.  For example, the code below, reads and prints the user’s name but without knowing the size of the name:

// Example with C++ String
int main () {
	// size is not needed
	string name;
	cout << "What is your name: ";
	cin >> name;
	cout << "Welcome " << name << endl;
}

 

3. String Manipulation Methods (from C)

These are methods used for string manipulation. You need to understand these functions to be get things done with strings.

See table below:

SN Method and description
1 strcpy(string1, string2)

Copies string string2 into string string1.

2 strcat(string1, string2)

Concatenates string string2 onto the end of string string1.

3 strlen(string1)

Returns the length of string string1.

4 strcmp(string1, string2)

Returns 0 if string1 and string2 are the same; less than 0 if string1<string2; greater than 0 if string1 > string2.

5 strchr(string1, ch);

Returns a pointer to the first occurrence of character ch in string string1.

6 strstr(s1, s2)

Returns a pointer to the first occurrence of string string2 in string string1.

The functions above derives from C. Therefore to use them, you need to include <cstring> header in your program.

 

4. String Manipulation With C++ String Class

Let’s now see how to do the same thing using C++ string class

  • Concatenation – Combines two string into one. Simply use the + operator. See example below
  • String length – Use length() method
  • Searching strings – Accessing a character within a string. Use the find() method
  • Substrings – Returning part of a string. Use the substr() method.
  • Replacing – Replacing part of a string. Use the replace() method
  • Insertion – Inserting character(s) into a string. Using the insert() method
  • Erase – Removing part of a string. Use the erase() method.

The program below shows how these methods can be applied.

// String manipulation using methods
int main () {
	   string string1 = "Beginner ";
	   string string2 = "to Expert ";
	   string string3 = "Tutorials";
	   string string4 = string1 + string2 + string3;
	   int  len = string4.length();


	   cout << string4 << endl;

	   cout << "Length of string1 is: " << len <<endl;

	   cout <<"Expert is at position " << string2.find("Expert") <<endl;

	   cout << "Part of string 2: " << string2.substr(3,8)<<endl;

	   cout << "Replacing 'Expert':  " << string4.replace(12, 17, "Guru")<<endl;

	   cout << "Insertion:  "<< string4.insert(0, " by Kindson")<<endl;

	   cout << "Erasing:  " << string3.erase(0,3)<<endl;

	   return 0;
}

If you successfully run the program, you will have the output:

Beginner to Expert Tutorials
Length of string1 is: 28
Expert is at position3
Part of string 2: Expert 
Replacing 'Expert':  Beginner to Guru
Insertion:   by KindsonBeginner to Guru
Erasing:  orials

I would recommend you take some time to understand how it works to produce the outputs.

Leave a Reply

Your email address will not be published. Required fields are marked *