1281

6 分钟

#C 语言标准库函数 strncmp

/********************************************* * @brief 比较两个字符串的前 n 个字符是否相同 * @param lhs 要比较的字符串 * @param rhs 要比较的字符串 * @param count 最多比较的字节数 * @return 字符串的差异 ********************************************/ int strncmp(const char* lhs, const char* rhs, size_t count);

说明

比较两个字符串是否相同,最多比较 count 字节。

参数

  • lhs - 要比较的字符串
  • rhs - 要比较的字符串
  • count - 最多比较的字节数

返回值

  • 如果字符串相同,则返回 0
  • 如果字符串不同,则返回 lhs[i] - rhs[i]i 是第一个不同字符的索引
    • 返回负值说明按照字典序 lhsrhs 之前
    • 返回正值说明按照字典序 lhsrhs 之后

#示例

#include <stdio.h> #include <string.h> int main(void) { printf("%d\n", strncmp("ABC", "ABC", 10)); // 输出 0,相同 printf("%d\n", strncmp("ABC", "ABCD", 10)); // 输出 -68,即 0 - 'D' printf("%d\n", strncmp("ABC", "ABCD", 3)); // 输出 0,前 3 个字节相同 printf("%d\n", strncmp("AAA9", "AAA6", 10)); // 输出 3,即 '9' - '6' return 0; }

运行结果:

0 -68 0 3

#推荐阅读

创建于 2025/7/6

更新于 2025/8/1