strncmp
int strncmp(const char *s1, const char *s2, size_t len)
s1とs2をlen分比較し、その結果を返す。
s1 > s2 なら正、 s1 = s2 なら0、 s1 < s2 なら負の値。
0以外の場合の絶対値は実装依存。
大体は違いがあった文字の差が返る。
s1 = "1003";
s2 = "1000";
だと、 strncmp(s1, s2, strlen(s2)); は 3 であることが多い。
(unsigned)で計算しているかどうかは微妙。 0x20から0x7Fの範囲のみで構成された
文字列で比較すると色々安全かも。
細かく疑問なこと
・ヌルチェックはs1, s2両方でやってる?(lenは普通s2の長さ以上は入れないはずだから、s2のヌルチェックはしない?)