strncmp | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


strncmp関数

概要

文字列を指定文字数だけ比較する。

ヘッダ

string.h

形式

int strncmp(const char* s1, const char* s2, size_t n);

引数

s1

比較対象の文字列。

s2

比較対象の文字列。

n

比較する文字数。

戻り値

辞書順で s1 の方が小さければ(前に来れば) 0 より小さい値が、s1 の方が大きければ(後に来れば) 0 より大きい値が、s1 と s2 が同じであれば 0 が返される。

詳細

s1 と s2 を、先頭から n文字だけ比較する。ただし、ヌル文字が現れた時点で終了する。

注意

使用例

#include <stdio.h>
#include <string.h>

int main(void)
{
    printf("%d\n", strncmp("abcde","abc", 3));
    printf("%d\n", strncmp("abcde","ab", 3 ));
    printf("%d\n", strncmp("abcde","abc123", 3));
}

実行結果:

0
1
0

関連

文字数を指定しない strcmp関数がある。
ヌル文字を無視した比較を行うために、memcmp関数が使える。
ワイド文字列版の wcsncmp関数がある。

解説章


参考リンク


更新履歴

’2018/4/22 解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。

’2018/4/17 全体的に文章を見直し修正。

’2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る