C string strncmp() 函数
定义和用法
strncmp()
函数比较两个字符串的前 n 个字符,并返回一个整数,指示哪一个字符串更大。
在此比较中,从两个字符串的相同位置开始,逐个字符从左到右进行比较,直到其中一个字符不匹配、进行了 n 次比较或到达字符串末尾。存在四种可能的情况:
- 如果进行了 n 次比较且没有任何不匹配,则函数返回零。
- 如果两个字符串都到达了末尾且没有任何不匹配,则函数返回零。
- 在第一个不匹配处,如果第一个字符串中的字符的 ASCII 值更大,则函数返回一个正数。
- 在第一个不匹配处,如果第二个字符串中的字符的 ASCII 值更大,则函数返回一个负数。
strncmp()
函数定义在 <string.h>
头文件中。
注意:如果要比较整个字符串,请使用 strcmp()
函数。
实例
比较两个字符串的前 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"; }
语法
strncmp(const char * str1, const char * str2, size_t n);
size_t
数据类型是正整数。
参数
参数 | 描述 |
---|---|
str1 | 必需。要比较的字符串之一。 |
str2 | 必需。要比较的字符串之一。 |
n | 必需。正整数,限制要比较的字符数。 |
技术细节
返回: |
如果第一个字符串更大,则返回一个正数。 如果第二个字符串更大,则返回一个负数。 如果两个字符串相等,则返回 |
---|
相关页面
教程:C 字符串
教程:C 字符串函数