C string strncmp() function
Example
Compare the first 3 characters of two strings:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = strncmp(myStr1, myStr2, 3);
if (cmp > 0) {
cout << myStr1 << " is greater than " << myStr2 << "\n";
} else if (cmp < 0) {
cout << myStr2 << " is greater than " << myStr1 << "\n";
} else {
cout << myStr1 << " is equal to " << myStr2 << "\n";
}
Try it Yourself »
Definition and Usage
The strncmp()
function compares the first n characters of two strings and returns an integer indicating which one is greater.
For this comparison characters at the same position from both strings are compared one by one, starting from the left until one of them does not match, n comparisons have been made or the end of a string has been reached. There are four possible scenarios:
- If n comparisons have been made without any mismatches then the function returns zero.
- If the end of both strings has been reached without any mismatches then the function returns zero.
- At the first mismatch, if the ASCII value of the character in the first string is greater then the function returns a positive number.
- At the first mismatch, if the ASCII value of the character in the second string is greater then the function returns a negative number.
The strcmp()
function is defined in the <string.h>
header file.
Note: To compare entire strings, use strcmp()
instead.
Syntax
strcmp(const char * str1, const char * str2, size_t n);
The size_t
data type is a positive integer.
Parameter Values
Parameter | Description |
---|---|
str1 | Required. One of the strings to be compared. |
str2 | Required. One of the strings to be compared. |
n | Required. A positive integer that limits the number of characters to be compared. |
Technical Details
Returns: |
An int value which is positive if the first string is greater,
negative if the second string is greater and 0 if the two strings are equal.
|
---|