0% found this document useful (0 votes)
7 views6 pages

Lesson 03

This document provides a lesson on string manipulation in C++, covering essential functions such as substr(), find(), size(), erase(), and replace(). It includes example code demonstrating string concatenation, resizing, and checking if a string is empty, along with explanations of various string operations. Additional functions like length(), max_size(), capacity(), and append() are also mentioned for further exploration.

Uploaded by

huzaifakhan44451
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views6 pages

Lesson 03

This document provides a lesson on string manipulation in C++, covering essential functions such as substr(), find(), size(), erase(), and replace(). It includes example code demonstrating string concatenation, resizing, and checking if a string is empty, along with explanations of various string operations. Additional functions like length(), max_size(), capacity(), and append() are also mentioned for further exploration.

Uploaded by

huzaifakhan44451
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

EE-163(C&P) lesson_03 EED MHUH, FR

String Manipulation
This is a brief and a quick lesson about string manipulation. C++ provides very useful features to
manipulate strings, this is necessary to understand for making useful programs for real projects.
les_03_code_01.cpp
1. #include<iostream>

2. using namespace std;

3. int main()
4. {
5. string _str1, _str2, _str3, _str4, _str5;
6. _str1 = "Pakistan";
7. _str2 = "The quick brown fox jumps over a lazy dog";
8. _str3 = "0010-0100-8763-9921";
9. _str4 = "Hello";
10. _str5 = "World";

11. // start at 3 at take all characters


12. cout<<"_str1.substr(3) "<<_str1.substr(3)<<endl;

13. // start at 3 and take out 5 characters


14. cout<<"_str1.substr(3,5) "<<_str1.substr(3,5)<<endl;

15. // string concatenation


16. cout<<_str4+_str5;

17. //compound assignment also work for concatenation


18. // see for example

19. _str4 += " ";


20. _str4 += _str5;

21. cout<<endl<<_str4;

22. //resetting _str4


23. _str4 = "Hello";

24. //finding location of a value


25. cout<<endl<<_str4.find('o');

26. //trying to find location of a value that does not exist


27. cout<<endl<<_str4.find('f');

28. //finding location of a value that exist multiple times


29. cout<<endl<<_str4.find('l'); //returns first location
30. cout<<endl<<"_str4.rfind('l') = ";
31. cout<<_str4.rfind('l');

Page 1 of 6
EE-163(C&P) lesson_03 EED MHUH, FR

32. //finding substring


33. cout<<endl<<_str2.find("fox");

34. //size of the string


35. cout<<endl<<_str2.size();

36. //erase function


37. string _str6 = "Application and Project Engineer";
38. _str6.erase(12,4); //this will erase 4 characters from
i. //location 12
39. cout<<endl<<_str6;
40. _str6 = "Application and Project Engineer"; //resetting _str6

41. _str6.replace(12,3,"for");
42. cout<<endl<<_str6;

43. return 0;
44. }

Let’s discuss this code in pieces

substr() function
substr() is used to access a portion of a string (sub-string), this function can be used in the following
styles
for a string _str1
_str1.substr(3)

This will pull all the characters starting from location 3, please note that location numbering starts from 0
and not 1
_str1.substr(3,5)

Start from location 3 and pull 5 characters.

String Concatenation
Two or more strings can be concatenated through concatenation operator ‘+’, see for example
cout<<_str4+_str5;

Page 2 of 6
EE-163(C&P) lesson_03 EED MHUH, FR

We can also perform concatenation through compound assignment, for example.


_str4 += " ";
_str4 += _str5;
cout<<endl<<_str4;

find() function
find() is used to get the location (starting location for substring) of a character from the string or a
substring, for example .
cout<<endl<<_str4.find('o');

If a character occurs more than once in a string then find() will return the location of first occurrence.

rfind() (reverse find) can be used to find the location of a character (or a sub string) from the reverse
order
find() can also be used to find the starting location of a substring, for example
cout<<endl<<_str2.find("fox");

size() function
Size of the string can be found using size() function, for example
cout<<endl<<_str2.size();

Page 3 of 6
EE-163(C&P) lesson_03 EED MHUH, FR

erase() function
A portion of the string can be erased with this function, for example
string _str6 = "Application and Project Engineer";
_str6.erase(12,4);

This will erase 4 characters from location 12

replace() function
This is used to replace a portion of a string (sub string) with another string, for example
cout<<endl<<_str6;
_str6.replace(12,3,"for");
cout<<endl<<_str6;

This will replace 3 characters starting from location no 12 with for

Page 4 of 6
EE-163(C&P) lesson_03 EED MHUH, FR

les_03_code_02.cpp
1. // les_03_code_02.cpp
2. // Some more functions and operations for strings
3. // following functions are explained in this code

4. // ---------- length() ---------- //


5. // ---------- max_size() ---------- //
6. // ---------- capacity() ---------- //
7. // ---------- resize() ---------- //
8. // ---------- empty() ---------- //
9. // ---------- at() ---------- //
10. // ---------- append() ---------- //

11. // these functions are used as member function


12. // for more documentations please visit
13. // http://www.cplusplus.com/reference/string/string/

14. #include<iostream>

15. using namespace std;

16. int main()


17. {
18. string _str1, _str2;
19. _str1 = "This is a string sample";

20. // To test size and capacity of a string


21.
22. cout<<_str1.size();
23. cout<<"\n_str1.length() = "<<_str1.length();
24. cout<<"\n_str1.max_size() = "<<_str1.max_size(); //finds the
maximum possible string size
25. cout<<"\n_str1.capacity() = "<<_str1.capacity(); //finds the
memory consumed

26. // To change size of the string


27. cout<<"\n"<<_str1;
28.
29. // now resizing
30.
31. _str1.resize(10); //decreasing the size to 10 characters
32. cout<<"\n"<<_str1;
33. _str1 = "This is a string sample"; //resetting the actual string

34. _str1.resize(50, '$'); //resizing to 50 characters with


additional character $
35. cout<<"\n"<<_str1;

Page 5 of 6
EE-163(C&P) lesson_03 EED MHUH, FR

36. _str1.resize(23); //resizing to the original size


37. cout<<"\n"<<_str1;

38. //to test if a string is empty or not

39. cout<<"\n_str1.empty() = "<<_str1.empty();


40. cout<<"\n_str2.empty() = "<<_str2.empty();

41. //Element access


42. cout<<"\n"<<_str1[5]; //access 5th element of string starting
from 0
43. cout<<"\n"<<_str1.at(5);//access 5th element of string starting
from 0

44. //Modifiers
45. _str2 = "Stretched to the point of no turning back";
46. cout<<"\n_str2 = "<<_str2;
47. //let's modify _str2
48. _str2.append(" A flight of fancy on a windswept field");
49. cout<<"\n_str2 = "<<_str2;

50. // learn the following functions yourself


51. // ---------- push_back() ----------
52. // ---------- pop_back() ----------
53. // ---------- assign() ----------
54. // ---------- swap() ----------

55. return 0;
56. }

Output

Page 6 of 6

You might also like