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