strncmp

strncmpは、指定された2つの文字列を指定の数の文字の分だけ比較する。

Man page of STRCMP
C言語関数辞典 - strncmp

memcmpでは、NULL文字('\0')の先まで比較して、違うかどうかをチェック出来た。
strncmpはn文字比較するが、NULL文字('\0')の先までは比較しない。


$ vi strncmp.c
$ gcc strncmp.c -o strncmp
$ ./strncmp
strncmp(str1, target, 3) is match!
strncmp(str2, target, 3) is unmatch!
strncpm(str1, target, 6) is match!
strncpm(str1, target, 7) is match!
$

最後の7文字比較は、memcmpなら"unmatch!"になるが、strncmpなら"match!"になる。

Sample/c/strncmp/strncmp/src/strncmp at master · bg1bgst333/Sample · GitHub