当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ strncmp()用法及代码示例


C++ 中的strncmp() 函数比较两个空终止字符串的指定字符数。比较是按字典顺序进行的。

strncmp()原型

int strncmp( const char* lhs, const char* rhs, size_t count );

strncmp() 函数有两个参数:lhs , rhscount。它按字典顺序比较lhsrhs 的内容,最多计数字符。结果的符号是在 lhsrhs 中不同的第一对字符之间的差异符号。

如果 lhs 或 rhs 中的任何一个不指向以空字符结尾的字符串,则 strncmp() 的行为是未定义的。

它在<cstring> 头文件中定义。

参数:

  • lhs and rhs:指向要比较的空终止字符串的指针。
  • count:要比较的最大字符数。

返回:

strncmp() 函数返回:

  • 如果 lhs 中的第一个不同字符大于 rhs 中的相应字符,则为正值。
  • 如果 lhs 中的第一个不同字符小于 rhs 中的相应字符,则为负值。
  • 如果lhsrhs 的第一个计数字符相等,则为 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++ strncmp()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。