String
String
Structured Programming
Language
Md. Abu Tareq
Lecturer, Department of EEE,
Bangladesh University of Business and Technology (BUBT)
The C-Style Character String
The C-style character string originated within the C language and continues to be
supported within C++. This string is actually a one-dimensional array of characters
which is terminated by a null character '\0'. Thus a null-terminated string contains
the characters that comprise the string followed by a null.
The following declaration and initialization create a string consisting of the word
"Hello". To hold the null character at the end of the array, the size of the
character array containing the string is one more than the number of characters in
the word "Hello."
Actually, you do not place the null character at the end of a string constant. The
C++ compiler automatically places the '\0' at the end of the string when it
initializes the array.
Reading and printing string
Reading strings with/without embedded blanks
To read a string without blanks cin can be used
cin>>str;
To read a string with blanks cin.getline() or gets() can be used.
cin.getline(str,80);
Or
gets(str);
Printing strings
cout and puts() can be used to print a string.
cout<<str;
Or
puts(str);
Note: For gets( ) and puts(), the header file <cstdio> (formally stdio.h) has to be
included. puts() can be used to display only strings. It takes a line feed after printing the
string.
Example 01
Let us try to print previously mentioned string:
#include <iostream>
using namespace std;
int main () {
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
cout << "Greeting message: ";
cout << greeting << endl;
return 0;
}
When the above code is compiled and executed, it produces result something as
follows:
Greeting message: Hello
The C-Style Functions (Library <cstring>)
C++ supports a wide range of functions that manipulate null-terminated strings:
#include <iostream>
#include <cstring>
When the above code is compiled and executed, it produces result something as
follows:
#include <iostream>
#include <string>
using namespace std;
int main () {
string str1 = "Hello";
string str2 = "World";
string str3;
int len ;
Example 03 (contd.)
// copy str1 into str3
str3 = str1;
cout << "str3 : " << str3 << endl;
return 0;
}
Example 03 (contd.)
When the previous code is compiled and executed, it produces result
something as follows:
str3: Hello
str1 + str2: HelloWorld
str3.size(): 10
Practice problems
Count the number of characters in a string and print it backwards.
Count the number of words in a string.
Find the length of a string.
Copy the contents of one string to another.
Concatenate the contents of one string to another.
Compare two strings.
Reverse the contents of a string and store it in another string.
Change the case of a string to uppercase/lowercase.
Extract n characters from left/right side of the string and store it in a
different string.
Find position of a word in a string.
Check if a string is empty or not