C 语言字符串 strncmp() 函数
示例
比较两个字符串的前 3 个字符
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";
}
自己尝试一下 »
定义和用法
The strncmp()
函数比较两个字符串的前 _n_ 个字符,并返回一个整数,指示哪个字符串更大。
对于此比较,从两个字符串的同一位置开始,从左到右依次比较每个字符,直到其中一个字符不匹配,_n_ 次比较完成,或者字符串的末尾被检测到。 存在四种可能的场景
- 如果进行了 _n_ 次比较,并且没有出现任何不匹配,则函数返回零。
- 如果在没有出现任何不匹配的情况下,两个字符串的末尾都被检测到,则函数返回零。
- 在第一次不匹配时,如果第一个字符串中字符的 ASCII 值更大,则函数返回一个正数。
- 在第一次不匹配时,如果第二个字符串中字符的 ASCII 值更大,则函数返回一个负数。
The strcmp()
函数在 <string.h>
头文件中定义。
注意: 要比较整个字符串,请使用 strcmp()
代替。
语法
strcmp(const char * str1, const char * str2, size_t n);
The size_t
数据类型是一个正整数。
参数值
参数 | 描述 |
---|---|
str1 | 必需。要比较的字符串之一。 |
str2 | 必需。要比较的字符串之一。 |
n | 必需。一个限制要比较的字符数量的正整数。 |
技术细节
返回值 | 一个 int 值,如果第一个字符串更大,则为正数,如果第二个字符串更大,则为负数,如果两个字符串相等,则为 0。 |
---|