SlideShare une entreprise Scribd logo
1  sur  27
OObbjjeecctt oorriieenntteedd PPrrooggrraammmmiinngg 
wwiitthh CC++++ 
MMaanniippuullaattiinngg SSttrriinnggss 
By 
Nilesh Dalvi 
LLeeccttuurreerr,, PPaattkkaarr--VVaarrddee CCoolllleeggee.. 
http://www.slideshare.net/nileshdalvi01
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).
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).
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).
Program explains above functions 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
#include <iostream> 
#include <string> 
using namespace std; 
int main() 
{ 
char name[10]; 
cout << "Enter name: " << endl; 
cin >> name; 
cout << "Length :" << strlen (name)<< endl; 
cout << "Reverse :" << strrev (name)<< endl; 
return 0; 
} 
Output: 
Enter name: 
ABC 
Length :3 
Reverse :CBA
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).
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).
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).
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
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).
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).
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).
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; 
}
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; 
}
Inserting string using insert() 
#include<iostream> 
#include<string> 
using namespace std; 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
int main() 
{ 
string s1("abcpqr"); 
string s2("mno"); 
cout << "S1: " << s1 << endl; 
cout << "S2: " << s2 << endl; 
cout << "After Insertion: " << endl; 
s1.insert(3,s2); 
cout << "S1: " << s1 << endl; 
cout << "S2: " << s2 << endl; 
return 0; 
} 
Output :: 
S1: abcpqr 
S2: mno 
After Insertion: 
S1: abcmnopqr 
S2: mno
Remove specified character s using erase() 
#include<iostream> 
#include<string> 
using namespace std; 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
int main() 
{ 
string s1("abc1234pqr"); 
cout << "S1: " << s1 << endl; 
cout << "After Erase : " << endl; 
s1.erase(3,5); 
cout << "S1: " << s1 << endl; 
return 0; 
} 
Output : 
S1: abc1234pqr 
After Erase : 
S1: abcqr
String Attributes: size() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
string s1; 
cout << "Size : " << s1.size () << endl; 
s1 = "abc"; 
cout << "Size : " << s1.size () << endl; 
return 0; 
} 
Output :: 
Size : 0 
Size : 3
String Attributes: length() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
//length () : determines the length i.e. no. of characters 
string s1; 
cout << "Length : " << s1.length () << endl; 
s1 = "hello"; 
cout << "Length : " << s1.length () << endl; 
return 0; 
} 
Output :: 
Length : 0 
Length : 5
String Attributes: capacity() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
//capacity () : determines capacity of string object 
// i.e. no. of characters it can hold. 
string s1; 
cout << "Capacity : " << s1.capacity () << endl; 
s1 = "hello"; 
cout << "Capacity : " << s1.capacity () << endl; 
s1 = "abcdefghijklmnopqr"; 
cout << "Capacity : " << s1.capacity () << endl; 
return 0; 
} 
Output : 
Capacity : 15 
Capacity : 15 
Capacity : 31
String Attributes: empty() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
string s1; 
cout << "Empty : " <<( s1.empty ()? "True" : "False") << endl; 
s1 = "hello"; 
cout << "Empty : " <<( s1.empty ()? "True" : "False") << endl; 
return 0; 
}
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; 
}
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
Exchanging content of two strings: swap() 
#include<iostream> 
#include<string> 
using namespace std; 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
int main() 
{ 
string s1("ttt"); 
string s2("rrr"); 
cout << "S1 :" << s1 << endl; 
cout << "S2 :" << s2 << endl; 
s1.swap (s2); 
cout << "S1 :" << s1 << endl; 
cout << "S2 :" << s2 << endl; 
return 0; 
} 
Output : 
S1 :ttt 
S2 :rrr 
S1 :rrr 
S2 :ttt
Miscellaneous functions: assign() 
#include<iostream> 
#include<string> 
using namespace std; 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). 
int main() 
{ 
string s1("c plus plus"); 
string s2; 
s2.assign (s1, 0,6); 
cout << s2; 
return 0; 
} 
Output : 
c plus
Miscellaneous functions: begin() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
Miscellaneous functions: end() 
Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
Strings

Contenu connexe

Tendances

Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 
Data types in C language
Data types in C languageData types in C language
Data types in C language
kashyap399
 

Tendances (20)

Function in C program
Function in C programFunction in C program
Function in C program
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
FUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPTFUNCTIONS IN c++ PPT
FUNCTIONS IN c++ PPT
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Strings
StringsStrings
Strings
 
Constructor ppt
Constructor pptConstructor ppt
Constructor ppt
 
Function overloading(c++)
Function overloading(c++)Function overloading(c++)
Function overloading(c++)
 
String C Programming
String C ProgrammingString C Programming
String C Programming
 
Arrays in c
Arrays in cArrays in c
Arrays in c
 
Functions in c
Functions in cFunctions in c
Functions in c
 
Introduction to c++ ppt
Introduction to c++ pptIntroduction to c++ ppt
Introduction to c++ ppt
 
Introduction to Array ppt
Introduction to Array pptIntroduction to Array ppt
Introduction to Array ppt
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of Constructors
 
Data types in C language
Data types in C languageData types in C language
Data types in C language
 
Arrays in Java
Arrays in JavaArrays in Java
Arrays in Java
 
Arrays in c
Arrays in cArrays in c
Arrays in c
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Python: Modules and Packages
Python: Modules and PackagesPython: Modules and Packages
Python: Modules and Packages
 
Keywords, identifiers ,datatypes in C++
Keywords, identifiers ,datatypes in C++Keywords, identifiers ,datatypes in C++
Keywords, identifiers ,datatypes in C++
 
Functions in C
Functions in CFunctions in C
Functions in C
 

En vedette

String Handling in c++
String Handling in c++String Handling in c++
String Handling in c++
Fahim Adil
 
file handling c++
file handling c++file handling c++
file handling c++
Guddu Spy
 
Array in c language
Array in c languageArray in c language
Array in c language
home
 

En vedette (20)

String in c
String in cString in c
String in c
 
C string
C stringC string
C string
 
C programming - String
C programming - StringC programming - String
C programming - String
 
Strings
StringsStrings
Strings
 
String c
String cString c
String c
 
Strings Functions in C Programming
Strings Functions in C ProgrammingStrings Functions in C Programming
Strings Functions in C Programming
 
C programming string
C  programming stringC  programming string
C programming string
 
String in programming language in c or c++
 String in programming language  in c or c++  String in programming language  in c or c++
String in programming language in c or c++
 
Implementation of c string functions
Implementation of c string functionsImplementation of c string functions
Implementation of c string functions
 
File handling
File handlingFile handling
File handling
 
String Handling in c++
String Handling in c++String Handling in c++
String Handling in c++
 
Computer Programming- Lecture 5
Computer Programming- Lecture 5 Computer Programming- Lecture 5
Computer Programming- Lecture 5
 
file handling c++
file handling c++file handling c++
file handling c++
 
String functions in C
String functions in CString functions in C
String functions in C
 
Array in c language
Array in c languageArray in c language
Array in c language
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Handling Exceptions In C &amp; C++ [Part B] Ver 2
Handling Exceptions In C &amp; C++ [Part B] Ver 2Handling Exceptions In C &amp; C++ [Part B] Ver 2
Handling Exceptions In C &amp; C++ [Part B] Ver 2
 
05 c++-strings
05 c++-strings05 c++-strings
05 c++-strings
 
7. Multithreading
7. Multithreading7. Multithreading
7. Multithreading
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 

Similaire à Strings

(How) can we benefit from adopting scala?
(How) can we benefit from adopting scala?(How) can we benefit from adopting scala?
(How) can we benefit from adopting scala?
Tomasz Wrobel
 
String and string manipulation
String and string manipulationString and string manipulation
String and string manipulation
Shahjahan Samoon
 

Similaire à Strings (20)

Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Java Strings
Java StringsJava Strings
Java Strings
 
lecture-5 string.pptx
lecture-5 string.pptxlecture-5 string.pptx
lecture-5 string.pptx
 
8. String
8. String8. String
8. String
 
C++ Strings.ppt
C++ Strings.pptC++ Strings.ppt
C++ Strings.ppt
 
Java string handling
Java string handlingJava string handling
Java string handling
 
String in programming language in c or c++
String in programming language in c or c++String in programming language in c or c++
String in programming language in c or c++
 
Manipulating strings
Manipulating stringsManipulating strings
Manipulating strings
 
Manipulation strings in c++
Manipulation strings in c++Manipulation strings in c++
Manipulation strings in c++
 
Data structure
Data structureData structure
Data structure
 
13 Strings and Text Processing
13 Strings and Text Processing13 Strings and Text Processing
13 Strings and Text Processing
 
String predefined functions in C programming
String predefined functions in C  programmingString predefined functions in C  programming
String predefined functions in C programming
 
Introduction to Java Strings, By Kavita Ganesan
Introduction to Java Strings, By Kavita GanesanIntroduction to Java Strings, By Kavita Ganesan
Introduction to Java Strings, By Kavita Ganesan
 
(How) can we benefit from adopting scala?
(How) can we benefit from adopting scala?(How) can we benefit from adopting scala?
(How) can we benefit from adopting scala?
 
CS101- Introduction to Computing- Lecture 38
CS101- Introduction to Computing- Lecture 38CS101- Introduction to Computing- Lecture 38
CS101- Introduction to Computing- Lecture 38
 
Ruby Basics
Ruby BasicsRuby Basics
Ruby Basics
 
Scala in Places API
Scala in Places APIScala in Places API
Scala in Places API
 
String and string manipulation
String and string manipulationString and string manipulation
String and string manipulation
 
Structured data type
Structured data typeStructured data type
Structured data type
 

Plus de Nilesh Dalvi

Plus de Nilesh Dalvi (18)

14. Linked List
14. Linked List14. Linked List
14. Linked List
 
13. Queue
13. Queue13. Queue
13. Queue
 
12. Stack
12. Stack12. Stack
12. Stack
 
11. Arrays
11. Arrays11. Arrays
11. Arrays
 
10. Introduction to Datastructure
10. Introduction to Datastructure10. Introduction to Datastructure
10. Introduction to Datastructure
 
9. Input Output in java
9. Input Output in java9. Input Output in java
9. Input Output in java
 
6. Exception Handling
6. Exception Handling6. Exception Handling
6. Exception Handling
 
5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces5. Inheritances, Packages and Intefaces
5. Inheritances, Packages and Intefaces
 
4. Classes and Methods
4. Classes and Methods4. Classes and Methods
4. Classes and Methods
 
3. Data types and Variables
3. Data types and Variables3. Data types and Variables
3. Data types and Variables
 
2. Basics of Java
2. Basics of Java2. Basics of Java
2. Basics of Java
 
1. Overview of Java
1. Overview of Java1. Overview of Java
1. Overview of Java
 
Templates
TemplatesTemplates
Templates
 
Inheritance : Extending Classes
Inheritance : Extending ClassesInheritance : Extending Classes
Inheritance : Extending Classes
 
Constructors and destructors
Constructors and destructorsConstructors and destructors
Constructors and destructors
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Introduction to cpp
Introduction to cppIntroduction to cpp
Introduction to cpp
 
Introduction to oops concepts
Introduction to oops conceptsIntroduction to oops concepts
Introduction to oops concepts
 

Dernier

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Dernier (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 

Strings

  • 1. OObbjjeecctt oorriieenntteedd PPrrooggrraammmmiinngg wwiitthh CC++++ MMaanniippuullaattiinngg SSttrriinnggss By Nilesh Dalvi LLeeccttuurreerr,, PPaattkkaarr--VVaarrddee CCoolllleeggee.. http://www.slideshare.net/nileshdalvi01
  • 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).
  • 5. Program explains above functions Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). #include <iostream> #include <string> using namespace std; int main() { char name[10]; cout << "Enter name: " << endl; cin >> name; cout << "Length :" << strlen (name)<< endl; cout << "Reverse :" << strrev (name)<< endl; return 0; } Output: Enter name: ABC Length :3 Reverse :CBA
  • 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; }
  • 15. Inserting string using insert() #include<iostream> #include<string> using namespace std; Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). int main() { string s1("abcpqr"); string s2("mno"); cout << "S1: " << s1 << endl; cout << "S2: " << s2 << endl; cout << "After Insertion: " << endl; s1.insert(3,s2); cout << "S1: " << s1 << endl; cout << "S2: " << s2 << endl; return 0; } Output :: S1: abcpqr S2: mno After Insertion: S1: abcmnopqr S2: mno
  • 16. Remove specified character s using erase() #include<iostream> #include<string> using namespace std; Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). int main() { string s1("abc1234pqr"); cout << "S1: " << s1 << endl; cout << "After Erase : " << endl; s1.erase(3,5); cout << "S1: " << s1 << endl; return 0; } Output : S1: abc1234pqr After Erase : S1: abcqr
  • 17. String Attributes: size() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). #include<iostream> #include<string> using namespace std; int main() { string s1; cout << "Size : " << s1.size () << endl; s1 = "abc"; cout << "Size : " << s1.size () << endl; return 0; } Output :: Size : 0 Size : 3
  • 18. String Attributes: length() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). #include<iostream> #include<string> using namespace std; int main() { //length () : determines the length i.e. no. of characters string s1; cout << "Length : " << s1.length () << endl; s1 = "hello"; cout << "Length : " << s1.length () << endl; return 0; } Output :: Length : 0 Length : 5
  • 19. String Attributes: capacity() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). #include<iostream> #include<string> using namespace std; int main() { //capacity () : determines capacity of string object // i.e. no. of characters it can hold. string s1; cout << "Capacity : " << s1.capacity () << endl; s1 = "hello"; cout << "Capacity : " << s1.capacity () << endl; s1 = "abcdefghijklmnopqr"; cout << "Capacity : " << s1.capacity () << endl; return 0; } Output : Capacity : 15 Capacity : 15 Capacity : 31
  • 20. String Attributes: empty() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). #include<iostream> #include<string> using namespace std; int main() { string s1; cout << "Empty : " <<( s1.empty ()? "True" : "False") << endl; s1 = "hello"; cout << "Empty : " <<( s1.empty ()? "True" : "False") << endl; 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
  • 23. Exchanging content of two strings: swap() #include<iostream> #include<string> using namespace std; Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). int main() { string s1("ttt"); string s2("rrr"); cout << "S1 :" << s1 << endl; cout << "S2 :" << s2 << endl; s1.swap (s2); cout << "S1 :" << s1 << endl; cout << "S2 :" << s2 << endl; return 0; } Output : S1 :ttt S2 :rrr S1 :rrr S2 :ttt
  • 24. Miscellaneous functions: assign() #include<iostream> #include<string> using namespace std; Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W). int main() { string s1("c plus plus"); string s2; s2.assign (s1, 0,6); cout << s2; return 0; } Output : c plus
  • 25. Miscellaneous functions: begin() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).
  • 26. Miscellaneous functions: end() Nilesh Dalvi, Lecturer@Patkar-Varde College, Goregaon(W).