0% found this document useful (0 votes)
12 views

String

This document discusses C-style character strings in C++. It explains that a C-style string is a null-terminated array of characters. It provides examples of declaring and initializing character strings. It also summarizes common string manipulation functions like strcpy(), strcat(), strlen(), etc. in the <cstring> library. Finally, it introduces the string class in C++ for string operations and provides an example using string class methods like size().

Uploaded by

mdshamsul islam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

String

This document discusses C-style character strings in C++. It explains that a C-style string is a null-terminated array of characters. It provides examples of declaring and initializing character strings. It also summarizes common string manipulation functions like strcpy(), strcat(), strlen(), etc. in the <cstring> library. Finally, it introduces the string class in C++ for string operations and provides an example using string class methods like size().

Uploaded by

mdshamsul islam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

CSE 201

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."

char greeting[6] = {'H','e','l','l','o','\0'};


If you follow the rule of array initialization, then you can write the above
statement as follows:
char greeting[] = "Hello";
The C-Style Character String
Following is the memory presentation of previously defined string in C/C++:

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:

S.N. Function & Purpose


1 strcpy(s1, s2);
Copies string s2 into string s1.
2 strcat(s1, s2);
Concatenates string s2 onto the end of string s1.
3 strlen(s1);
Returns the length of string s1.
4 strcmp(s1, s2);
Returns 0 if s1 and s2 are the same; less than 0 if
s1<s2; greater than 0 if s1>s2.
5 strchr(s1, ch);
Returns a pointer to the first occurrence of character
ch in string s1.
6 strstr(s1, s2);
Returns a pointer to the first occurrence of string s2
in string s1.
Example 02
Following example makes use of few of the previously mentioned functions:

#include <iostream>
#include <cstring>

using namespace std;


int main () {
char str1[10] = "Hello";
char str2[10] = "World";
char str3[10];
int len ;

// copy str1 into str3


strcpy( str3, str1);
cout << "strcpy( str3, str1) : " << str3 << endl;
Example 02 (contd.)
// concatenates str1 and str2
strcat( str1, str2);
cout << "strcat( str1, str2): " << str1 << endl;

// total lenghth of str1 after concatenation


len = strlen(str1);
cout << "strlen(str1) : " << len << endl;
return 0;
}

When the above code is compiled and executed, it produces result something as
follows:

strcpy( str3, str1): Hello


strcat( str1, str2): HelloWorld
strlen(str1): 10
The String Class in C++ and Example 03
The standard C++ library provides a string class type that supports all the
operations mentioned above, additionally much more functionality. We will study
this class in C++ Standard Library but for now let us check following example:
At this point, you may not understand this example because so far we have not
discussed Classes and Objects. So can have a look and proceed until you have
understanding on Object Oriented Concepts.

#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;

// concatenates str1 and str2


str3 = str1 + str2;
cout << "str1 + str2 : " << str3 << endl;

// total lenghth of str3 after concatenation


len = str3.size();
cout << "str3.size() : " << len << 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

You might also like