📜  C++中的std :: strncmp()(1)

📅  最后修改于: 2023-12-03 14:59:50.824000             🧑  作者: Mango

std::strncmp() 函数介绍
简介

在 C++ 标准库中,std::strncmp() 是一个用来比较两个字符串的函数。它用于比较两个 C 风格字符串(以 null 结尾的字符数组)的前 n 个字符是否相等。该函数返回一个整数值,用于指示比较结果。

函数声明

函数的声明如下:

int strncmp(const char* str1, const char* str2, std::size_t count);
参数

std::strncmp() 函数有三个参数:

  • str1:指向第一个字符串的指针。
  • str2:指向第二个字符串的指针。
  • count:要比较的最大字符数。
返回值

std::strncmp() 返回一个整数值,表示比较结果,具体含义如下:

  • 如果 str1 的前 count 个字符与 str2 的前 count 个字符相等,则返回 0。
  • 如果 str1 的前 count 个字符小于 str2 的前 count 个字符,则返回一个负数。
  • 如果 str1 的前 count 个字符大于 str2 的前 count 个字符,则返回一个正数。
使用示例

以下是一个使用 std::strncmp() 函数的示例代码:

#include <iostream>
#include <cstring>

int main() {
    const char* str1 = "Hello";
    const char* str2 = "World";
    
    int result = std::strncmp(str1, str2, 3);
    
    if (result == 0) {
        std::cout << "前三个字符相等" << std::endl;
    } else if (result < 0) {
        std::cout << "前三个字符小于" << std::endl;
    } else {
        std::cout << "前三个字符大于" << std::endl;
    }
    
    return 0;
}

在上面的示例中,我们比较了两个字符串 "Hello" 和 "World" 的前三个字符。由于这两个字符串的前三个字符都相等,因此结果将为 0,并输出 "前三个字符相等"。

注意事项
  • std::strncmp() 函数比较的是字符数组的内容,而不是数组的指针地址。
  • 如果两个字符串的长度不同,但在前 count 个字符内相同,则比较结果将为 0。