2. Introduction
• A string is a sequence of characters.
• Strings can contain small and capital letters,
numbers and symbols.
• Each element of string occupies a byte in the
memory.
• Every string is terminated by a null
character(‘0’).
• Its ASCII and Hex values are zero.
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
3. Introduction
• The string is stored in the memory as follows:
char country [6] = "INDIA";
I N D I A '0'
73 78 68 73 65 00
• Each character occupies a single byte in
memory as shown above.
• The various operations with strings such as
copying, comparing, concatenation, or
replacing requires a lot of effort in ‘C’
programming.
• These string is called as C-style string.
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
4. String library functions
Functions Description
strlen() Determines length of string.
strcpy() Copies a string from source to destination
strcmp() Compares characters of two strings.
stricmp() Compares two strings.
strlwr() Converts uppercase characters in strings to lowercase
strupr() Converts lowercase characters in strings to uppercase
strdup() Duplicates a string
strchr() Determines first occurrence of given character in a string
strcat() Appends source string to destination string
strrev() Reversing all characters of a string
strspn() finds up at what length two strings are identical
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
6. Moving from C-String to C++String
• Manipulation of string in the form of char
array requires more effort, C uses library
functions defined in string.h.
• To make manipulation easy ANSI committee
added a new class called string.
• It allows us to define objects of string type
and they can e used as built in data type.
• The programmer should include the
string header file.
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
7. Declaring and initializing string objects
• In C, we declare strings as given below:
char name[10];
• Whereas in C++ string is declared as an
object.
• The string object declaration and
initialization can be done at once using
constructor in string class.
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
8. String constructors
Constructors Meaning
string (); Produces an empty string
string (const char * text); Produces a string object from a
null ended string
string (const string & text); Produces a string object from
other string objects
We can declare and initialize string objects as follows:
string text; // Declaration of string objects
//using construtor without argument
string text("C++"); //using construtor with one argument
text1 = text2; //Asssignment of two string objects
text = "C++"+ text1; //Concatenation of two strings objects
Nilesh Dalvi, Lecturer@Patkar-Varde College,
Goregaon(W).
9. Performing assignment and concatenation
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
#include <iostream>
#include <string>
using namespace std;
int main()
{
string text;
string text1(" C++");
string text2(" OOP");
cout << "text1 : "<< text1 << endl;
cout << "text2 : "<< text2 << endl;
text = text1; // assignment operation
text = text1 + text2; // concatenation
cout << "Now text : "<<text << endl;
return 0;
}
Output:
text1 : C++
text2 : OOP
Now text : C++ OOP
10. String manipulating functions
Functions Description
append() Adds one string at the end of another string
assign() Assigns a specified part of string
at() Access a characters located at given location
begin() returns a reference to the beginning of a string
capacity() calculates the total elements that can be stored
compare() compares two strings
empty() returns false if the string is not empty, otherwise true
end() returns a reference to the termination of string
erase() erases the specified character
find() finds the given sub string in the source string
insert() inserts a character at the given location
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
11. String manipulating functions
Functions Description
length() calculates the total number of elements in string
replace() substitutes the specified character with the given string
resize() modifies the size of the string as specified
size() provides the number of character n the string
swap() Exchanges the given string with another string
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
12. String Relational Operators
Operator Working
= Assignment
+ joining two or more strings
+= concatenation and assignment
== Equality
!= Not equal to
< Less than
<= Less than or equal
> Greater than
>= Greater than or equal
[] Subscription
<< insertion
>> Extraction
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
13. Comparing two strings using operators
#include<iostream>
#include<string>
using namespace std;
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
int main()
{
string s1("OOP");
string s2("OOP");
if(s1 == s2)
cout << "n Both strings are identical";
else
cout << "n Both strings are different";
return 0;
}
14. Comparing two strings using compare()
#include<iostream>
#include<string>
using namespace std;
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
int main()
{
string s1("abd");
string s2("abc");
int d = s1.compare (s2);
if(d == 0)
cout << "n Both strings are identical";
else if(d > 0)
cout << "n s1 is greater than s2";
else
cout << "n s2 is greater than s1";
return 0;
}
21. Accessing elements of string : at()
#include<iostream>
#include<string>
using namespace std;
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
int main()
{
string s1("abcdefghijkl");
for(int i = 0; i < s1.length (); i++)
cout << s1.at(i); // using at()
for(int i = 0; i < s1.length (); i++)
cout << s1. [i]; // using operator []
return 0;
}
22. Accessing elements of string : find()
#include<iostream>
#include<string>
using namespace std;
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
int main()
{
string s1("TechTalks : Where everything is out of box!");
int x = s1.find ("box");
cout << "box is found at " << x << endl;
return 0;
}
Output ::
box is found at 39