C++ 中的strncmp() 函数比较两个空终止字符串的指定字符数。比较是按字典顺序进行的。
strncmp()原型
int strncmp( const char* lhs, const char* rhs, size_t count );
strncmp()
函数有两个参数:lhs
, rhs
和 count
。它按字典顺序比较lhs
和rhs
的内容,最多计数字符。结果的符号是在 lhs
和 rhs
中不同的第一对字符之间的差异符号。
如果 lhs 或 rhs 中的任何一个不指向以空字符结尾的字符串,则 strncmp()
的行为是未定义的。
它在<cstring> 头文件中定义。
参数:
lhs and rhs
:指向要比较的空终止字符串的指针。count
:要比较的最大字符数。
返回:
strncmp()
函数返回:
- 如果
lhs
中的第一个不同字符大于rhs
中的相应字符,则为正值。 - 如果
lhs
中的第一个不同字符小于rhs
中的相应字符,则为负值。 - 如果
lhs
和rhs
的第一个计数字符相等,则为 0。
示例:strncmp() 函数的工作原理
#include <cstring>
#include <iostream>
using namespace std;
void display(char *lhs, char *rhs, int result, int count)
{
if(result > 0)
cout << rhs << " precedes " << lhs << endl;
else if (result < 0)
cout << lhs << " precedes " << rhs << endl;
else
cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl;
}
int main()
{
char lhs[] = "Armstrong";
char rhs[] = "Army";
int result;
result = strncmp(lhs,rhs,3);
display(lhs,rhs,result,3);
result = strncmp(lhs,rhs,4);
display(lhs,rhs,result,4);
return 0;
}
运行程序时,输出将是:
First 3 characters of Armstrong and Army are same Armstrong precedes Army
相关用法
- C++ strncat()用法及代码示例
- C++ strncpy()用法及代码示例
- C++ string::length()用法及代码示例
- C++ strchr()用法及代码示例
- C++ string::npos用法及代码示例
- C++ strcat()用法及代码示例
- C++ strstr()用法及代码示例
- C++ strcat() vs strncat()用法及代码示例
- C++ strtok()用法及代码示例
- C++ strtod()用法及代码示例
- C++ strtoimax()用法及代码示例
- C++ strcmp()用法及代码示例
- C++ strcspn()用法及代码示例
- C++ strpbrk()用法及代码示例
- C++ strxfrm()用法及代码示例
- C++ strspn()用法及代码示例
- C++ strtoull()用法及代码示例
- C++ string at()用法及代码示例
- C++ strol()用法及代码示例
- C++ strtoll()用法及代码示例
注:本文由纯净天空筛选整理自 C++ strncmp()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。