函数
<cstring>

strncmp

int strncmp ( const char * str1, const char * str2, size_t num );
比较两个字符串的字符
此函数会将 C 字符串 str1 的前 num 个字符与 C 字符串 str2 的相应字符进行比较。
该函数从比较两个字符串的第一个字符开始。如果它们相等,它将继续比较后续的字符对,直到字符不匹配、遇到终止空字符,或者直到 num 个字符在两个字符串中都匹配为止,以先发生的为准。

参数

str1
要比较的 C 字符串。
str2
要比较的 C 字符串。
num
要比较的最大字符数。
size_t 是一个无符号整数类型。

返回值

返回一个整数值,指示两个字符串之间的关系
返回值表示
<0第一个不匹配的字符在 str1 中比在 str2 中值小
0两个字符串的内容相等
>0第一个不匹配的字符在 str1 中比在 str2 中值大

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* strncmp example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[][5] = { "R2D2" , "C3PO" , "R2A6" };
  int n;
  puts ("Looking for R2 astromech droids...");
  for (n=0 ; n<3 ; n++)
    if (strncmp (str[n],"R2xx",2) == 0)
    {
      printf ("found %s\n",str[n]);
    }
  return 0;
}

输出

Looking for R2 astromech droids...
found R2D2
found R2A6


另见