×

C++ String

A string is a collection of characters. C++ programming language supports both C string as well as standard C++ library string. In C++, string is an object of std::string class.

C Style String

The C style string of C language is also supported in C++ programming language. C string is an array of char and terminated by a null character '\0'.

String Declaration

There are two different way to declare C style string in C++ programming: 1. Through array of character.
char stringName[5];
2. Through pointers.
char *stringName;

String Initialization

String initialization is done by passing character in character (char) array end with null (\0). String initialization is also done by passing the value in string name within double inverted comma (" ");
char  stringName[8]={'w','e','l','c','o','m','e','\0'};
char stringName[]="welcome";

Memory Representation of String

C++ String Example 1

#include<iostream>  
using namespace std;  
int main(){  
    char message1[8]={'w','e','l','c','o','m','e','\0'};  
    char message2[]="programmer";  
    cout<<"print message1 :"<<message1<<endl;  
    cout<<"print message2 :"<<message2;  
    return 0;  
}
Output:
print message1 :welcome
print message2 :programmer

String function used in C as well as C++

Function Example Description
strlen() strlen(s1) Return length of string s1.
strcmp() strcmp(s1,s2) Compare string s1 and
strcpy() strcpy(s1,s2) Copy string s2 into string s1.
strcat() strcat(s1,s2) Concatenate string s2 at the end of string s1.
strchr() strchr(s1,ch) Search character ch in string s1.
strstr() strstr(s1,s2) Search string s2 in string s1.

C++ String Example 2

#include <iostream>  
#include <cstring>  
using namespace std;  
int main () {  
   char s1[10] = "Hello";  
   char s2[10] = "World";  
   char ch='l';  
   char s3[10];  
   int  len ;  
   // lenghth of s1  
   len = strlen(s1);  
   cout << "strlen(s1) : " << len << endl;  
   // copy s1 into s3  
   strcpy( s3, s1);  
   cout << "strcpy( s3, s1) : " << s3 << endl;  
   // comperesion s1 and s2  
    if (strcmp(s1,s2)==true){  
        cout<<"strcmp(s1,s2) :"<< "string are equal"<<endl;  
    }  
    else{  
        cout<<"strcmp(s1,s2) :"<<"string are not equal return :
"<< strcmp(s1,s2)<<endl;  
    }  
   // concatenates s1 and s2  
   strcat( s1, s2);  
   cout << "strcat( s1, s2): " << s1 << endl;  
    // search ch in s2  
    if (strchr(s2, ch)){  
        cout << ch << " is present in :" << s2 << endl;  
    }  
    else{  
        cout << ch << " is not present in :" << s2 << endl;  
    }  
    //search s3 in s1      
    if (strstr(s1, s3)){  
        cout << s3 << " is present in :" << s1 << endl;  
    }  
    else{  
        cout << s3 << " is not present in :" << s1 << endl;  
    }  
   return 0;  
}
Output:
strlen(s1) : 5
strcpy( s3, s1) : Hello
strcmp(s1,s2) :string are not equal return :-15
strcat( s1, s2): HelloWorld
l is not present in :
Hello is present in :HelloWorld

C++ Standard Library String

C++ provides a string class to overcome the complexity and inefficiency of using C style string in C++ programming. C++ uses standard library <string> to handle all manipulation done over string object.

C++ String Example 3

#include<iostream>  
#include<string>  
using namespace std;  
int main(){  
    string str1= "welcome";  
    string str2;  
    cout<<"Enter string"<<endl;  
    cin>>str2;  
    cout<< str1<< endl;  
    cout<<"Your enter string is :"<< str2;  
    return 0;  
}
Output:
Enter string
programmer
welcome
Your enter string is : programmer
In the above program <string> is the standard library that handles string manipulation and string in main() function is string class. In C++, cin and >> operator read only one word of a string, the compiler treats space as the termination of string provided in string as value. C++ string class supports many member functions, constructors and operators for manipulating string objects.

C++ String functions

Function Description
size() Return the number of characters in the string
length() Return the number of elements in a string
capacity() Gives the total elements that can be stored
max_size() Gives the maximum possible size of a string of string object
insert() Insert character at a specific location
replace() Replace specific character within a given string
erase() Removes characters as specified
append() Append a part of the string to another string
copy() Copy sequence of character from string
compare() Compare string against the invoking string
swap() Swap value of two string
getline() Read a line of string
C++ string also uses cin.get(ch) member function of istream class defined in <iostream> the member function cin.get(ch) reads the next character, even if it is a space, from the input and assigns it to the variable ch.

String Example 4

This program illustrate the use of size(), length(), capacity(), max_size() of string function.
#include <iostream>  
#include <string>  
using namespace std;  
int main ()  
{  
  string str="String program";  
  cout << "size: " << str.size() << endl;  
  cout << "length: " << str.length() << endl;  
  cout << "capacity: " << str.capacity() << endl;  
  cout << "max_size: " << str.max_size() << endl;  
  return 0;  
}
Output:
size: 14
length: 14
capacity: 15
max_size: 9223372036854775807

String Example 5

This program illustrate the use of insert(), replace(), erase() of string function.
#include <iostream>  
#include <string>  
using namespace std;  
int main ()  
{  
  string str;  
  string str1="first string";  
  string str2="second hello";  
  string str3="third welcome";  
  str.insert(0,str1);  
  str1.insert(6,str2,7,11);  
  cout << "after insert str: " << str << endl;  
  cout<< "after insert str1: " << str1<< endl;  
  str2.replace(7,5,str3);  
  cout<<"after replace str2: "<< str2<< endl;  
  str3.erase(2,6);  
  cout<<"afrer erase str3: "<<str3<< endl;  
  return 0;  
}
Output:
after insert str: first string
after insert str1: first hellostring
after replace str2: second third welcome
after erase str3: thlcome

String Example 6

This program illustrates the use of cin.get() of string function.
#include <iostream>  
using namespace std;  
int main()  
{  
    char ch[10];  
    cout<<"Enter char string  :";  
    cin.get(ch, 10);  
    cout << "Your char string is :" << ch << endl;  
    return 0;  
}
Output:
Enter char string :welcome
Your char string is :welcome
In the above program parameters passed in cin.get(ch,10) function represents variable name and size of variable respectively.

String Example 7

This program illustrates the use of getline() of string function.
#include <iostream>  
using namespace std;  
int main()  
{  
    string str;  
    cout<<"Enter string  :";  
    getline(cin,str);  
    cout << "Your string is :" << str << endl;  
    return 0;  
}
Output:
Enter string :welcome programmer
Your string is :welcome programmer
getline() function take input stream cin in the first parameter and string object (str) in the second parameter. In C++ it is prefer to use getline() function instead of using cin>> and cin.get().

Related Topics

C++ Program: Matrix Multiplication

Matrix Multiplication in C++ What is a Matrix? A matrix is a set of numbers in the form of rows and columns forming a rectangular array. It includes numbers, which are often...

4 minutes read.

Advanced C++ with Boost Library

The goal of the Boost Libraries is to be widely applicable and used in a variety of applications. For instance, they can in handy when working with huge numbers whose...

4 minutes read.

C++ Bitset

Overview In C++, bitset represents a fixed-sequence of some bits values by either 0 and 1. Zero represents the value as false or unset, while 1 represents the value as true...

4 minutes read.

C++ User Defined Exceptions

Overriding and inheriting exception class capabilities may be used to define the new exception. Exception handling can also be used with classes. We may also make an exception for user-defined...

4 minutes read.

C++ Range-based For Loop

In C++ language, the range-based for loop was added, which is far superior than the ordinary For loop. The implementation of a range-based for loop doesn't really need much code. It's a...

4 minutes read.

std::distance() in C++

The primary function of std::distance is to facilitate the total number of elements if we have two iterators. It is defined inside the header files. It has both magnitude and...

2 minutes read.

C++ Interfaces

The C++ programming language provides programmers with a variety of capabilities and functions. It also enables object-oriented programming, which is essential while working on a project. It will be simple...

7 minutes read.

C++ Comments

Comment/Remark A Comment or a Remark is text that is ignored by the compiler yet is beneficial to programmers. Code is usually annotated with comments for future reference. They are treated...

3 minutes read.

How to call a void function in C++

Generally, any function has two types: 1. Void function: It doesn't return any value. 2. Non-void function: It returns some value. Program to call a void function in C++ #include <iostream> using namespace std;  void check() {  ...

2 minutes read.

C++ Inheritance

What do you mean by Inheritance ? The ability to define new classes based on existing classes in order to reuse and organise code is referred to as inheritance. Single inheritance...

7 minutes read.

Pthread in C++ Parameters

Pthreads, also known as POSIX threads, is a POSIX standard for multithreading in C/C++. It allows a program to control multiple different threads of execution concurrently. Using pthreads, you can create...

4 minutes read.

C++ First Program

Let's write a simple basic program structure of C++, its compilation and its execution (how it runs). This program is compiled using GCC compiler. Open any editor to write C++ program. #include<iostream>   using namespace std;   int main(){       cout<<"Welcome to C++ program"<<endl;   } Output...

2 minutes read.

C++ Output Iterators

Iterators : Iterators serve as a link between algorithms and STL containers, allowing the data inside the container to be modified. They let you to iterate through the container, access and...

4 minutes read.

C++ vs C#

What exactly is C++ programming? Bjorne Stroustrup is the creator of the C++ programming language. His goal was to create a powerful object-oriented programming language with the capabilities of C. It...

4 minutes read.

Do-While Loop Examples in C++

Before we move on the examples of Do-While loop, let’s learn little bit about the Do-While loop in C++ language. Do While loop An iterative loop that checks the condition at the...

5 minutes read.

Pointer to Object in C++

What is a pointer? A pointer in C++ is used to point the variable by storing the address of the variable. In C++, to print the address of the variable, we...

4 minutes read.

Division in C++

C++ Division Arithmetic Operation In C++ the arithmetic operator / is used for division. This operator takes two operands and returns the result of dividing the left operand by the right...

3 minutes read.

C++ vardiac() function

In the C++ programming language, the flexibility feature is provided by the variadic function. To understand more about flexibility, let's see the following syntax. Syntax: If we have to add two numbers,...

3 minutes read.

C++ Continue in for loop

Continue statement: Inside the loop, the continue statement is used to control the loop. C++ utilizes the continue keyword to implement the continue statement, which transfers the program's flow at the start...

4 minutes read.

How to Setup Environment for C++ Programming on Mac

Mac OS X code Installation There are so many environments available for C++. We are going to install jGrasp and Xcode in our mac operating system. Instruction for installation of jGrasp and...

2 minutes read.