EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

strcmp() in C++

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » strcmp() in C++

strcmp() in-C++

Introduction to strcmp () in C++

The following article sets out the outline for strcmp () in C++. There are many string functions and structures available in any programming language so as in C++. It includes functions present in cstring header file. It works in a way that a string that is used for manipulation gets stored in a predefined c-style char array and is used to copy it in a way that that the character gets stored in char array and then a comparison is made between the characters of two strings. Moreover, comparison can be made with the initialization of any number of strings with char array and comparisons.

Syntax

Following is a syntax:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

int strcmp (const char * str1, const char * str2);

This syntax represents that str 1 and str 2 are the two strings as parameters inside the function. This will compare both the arguments i.e. both the strings and then it will return the compared result in the form of int value which in turn has its own significance.

  • If the int value returned after string comparison is 0 then it signifies that characters in both the string are the same.
  • If the int value returned is 1 i.e. when the character is not matching in the first string have an ASCII value which is larger than the character present in the same index of the second string.
  • If the returned int value has is -1 then the character which is not matching the first string and consists of an ascii value which is less than the character at the same position or index of the second string.

strcmp possess two things in it one string which can be any char array string and as many numbers as possible and a compare function in it. In generalization with terms of programming languages, we have a compare () function which is a public member function of string class and string.h header file. The compare function compares the value of string object (or a substring) to the sequence of characters specified in its arguments.int in the above syntax is the final compared string return type and the return type should be string only it should not be Boolean or any other form. There are many more ways of defining string compare function which again depends on the type of strings that will be used for comparison and the requirement or the need of the hour.

Note: This syntax is the conventional or the most preferred way of using string compare () function. But there are many more ways of string comparison which will be represented further.

Representation of various types of syntax for strcmp () or compare () function:

  • int string::compare (const string& str) const
  • int string::compare (size_type idx, size_type len, const string& str) const
  • int string::compare (size_type idx, size_type len, const string& str, size_type str_idx, size_type str_len) const
  • int string::compare (const char* cstr) const
  • int string::compare (size_type idx, size_type len, const char* cstr) const
  • int string::compare (size_type idx, size_type len, const char* chars, size_type chars_len) const

Examples to Implement strcmp () in C++

All the different types of syntaxes will be discussed with one example each to get the insight and output for clarification.

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,837 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Example #1

#include <iostream>
#include <cstring>
using namespace std;
int main ()
{
char frst [20] = "Programming";
char sec [20] = "Programming";
char thrd [20] = "Programming";
cout<<"Content of frst string: " <<frst <<"\n";
cout<<"Content of sec string: " <<sec <<"\n";
int result = strcmp (frst, sec);
cout<<" String comparison between " <<frst <<" and " <<sec<<" : " <<result <<"\n";
result = strcmp(sec, thrd);
cout<<" String comparison between " <<sec <<" and " <<thrd<<" : " <<result <<"\n";
return 0;
}

Output:

programing

Example #2

#include <iostream>
using namespace std;
void comprOprtion(string s1, string s2)
{
if((s1.compare(s2)) < 0)
cout << s1 << "is less than " << s2 << endl;
if((s1.compare(s1)) == 0)
cout << s1 << " is same as " << s1 << endl;
else
cout << "Strings are not matching ";
}
int main ()
{
string s1("God");
string s2("looks after everyone");
comprOprtion(s1, s2);
return 0;
}

Output:
strcmp() in c++2

Example #3

#include <iostream>
using namespace std;
void cmprOprtion(string s1, string s2)
{
if ((s2.compare(8, 9, s1)) == 0)
cout << "sphere, "<< s1 << " have " << s2;
else
cout << "String is not matching";
}
int main ()
{
string s1("Grapes");
string s2("areverysourandsweet");
cmprOprtion (s1, s2);
return 0;
}

Output:

not matching

Example #4

#include <iostream>
using namespace std;
void comprOprtion (string s1, string s2)
{
if ((s1.compare(1, 6, s2, 2, 4)) == 0)
cout << "Welcome to " << s1 << s2 << " Programming";
else
cout << "Strings not matching with programming ";
}
int main ()
{
string s1("Programs");
string s2("arenotprogrmming skills");
comprOprtion (s1, s2);
return 0;
}

Output:
strcmp() in c++4JPG

Example #5

#include <iostream>
using namespace std;
void comprOprtion (string s1)
{
if ((s1.compare(0, 3, "educba")) == 0)
cout << s1 << " are " << "just kind people";
else
cout << "Strings are not at all matching ";
}
int main ()
{
string s1("educba");
comprOprtion(s1);
return 0;
}

Output:
strcmp() in c++5JPG

Example #6

#include <iostream>
using namespace std;
void comprOpration (string s1, string s2)
{
if ((s1.compare(0, 6, "technocrats", 5)) == 0)
cout << "This is " << s1 <<  s2 ;
else
cout << "Strings are not matching ";
}
int main ()
{
string s1("technocrats");
string s2("becomesbig giant");
comprOpration (s1, s2);
return 0;
}

Output:

strcmp() in c++6JPG

Example #7

#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
char one [20] = "red color is dark";
char secnd [20] = "rose is red";
cout<< "The content of one string : " << one << "\n";
cout<< "The content of secnd string : " << secnd << "\n";
int result = strcmp(one, secnd);
cout<< "String comparison between " << one << " and " << secnd << " : " << result;
return 0;
}

Output:

strcmp() in c++7JPG

Conclusion – strcmp() in C++

String compare is also one form of predefined inbuild functions of string.h header file as part of the string class. There are many forms and syntaxes to represent the same, but the main advantage is to compare an array of char in any form of a string that can be used internally for comparison of characters up to null characters. Compare functions play a great role in comparing all the types of strings and composition and decomposition but the basic important thing that returns type should be integer type only.

Recommended Articles

This has been a guide to strcmp() in C++. Here we discuss the introduction, syntax, and different examples of strcmp() in C++. You may also have a look at the following articles to learn more –

  1. C++ String Functions
  2. C String Functions
  3. Access Specifiers in C++
  4. Function Overloading in C++

C++ Training (4 Courses, 3 Projects, 4 Quizzes)

4 Online Courses

5 Hands-on Projects

37+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C++ Training (4 Courses, 3 Projects, 4 Quizzes) Learn More