C++ cstring strncmp() 函数
示例
比较两个字符串的前三个字符:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = strncmp(myStr1, myStr2, 3);
if(cmp > 0) {
cout << myStr1 << " is greater than " << myStr2 << "
";
} else if(cmp < 0) {
cout << myStr2 << " is greater than " << myStr1 << "
";
} else {
cout << myStr1 << " is equal to " << myStr2 << "
";
}
亲自试一试 »
定义和用法
strncmp() 函数比较两个 C 风格字符串的前 n 个字符,并返回一个整数,指示哪个字符串更大。
此比较函数会从左侧开始,逐个比较两个字符串中相同位置的字符,直到其中一个字符串不匹配、已进行 n 次比较或到达字符串末尾为止。共有四种可能的情况:
- 如果经过n次比较且未出现任何不匹配,则函数返回零。
- 如果两个字符串都已到达末尾且未出现任何不匹配,则函数返回零。
- 在第一次出现不匹配时,如果第一个字符串中字符的ASCII值大于第二个字符串中字符的ASCII值,则函数返回一个正数。
- 在第一次出现不匹配时,如果第二个字符串中字符的ASCII值大于第一个字符串中字符的ASCII值,则函数返回一个负数。
strcmp() 函数定义在 <cstring> 头文件中。
注意: 要比较整个字符串,请改用 strcmp()。
语法
strcmp(const char * str1, const char * str2, size_t n);
size_t 数据类型为正整数。
参数值
| 参数 | 描述 |
|---|---|
| str1 | 必填。要比较的字符串之一。 |
| str2 | 必填。要比较的字符串之一。 |
| n | 必填。一个正整数,用于限制要比较的字符数。 |
技术细节
| 返回值: | 一个int值,如果第一个字符串大于第二个字符串,则为正数;如果第二个字符串大于第一个字符串,则为负数;如果两个字符串相等,则为0。 |
|---|

