C言語の標準関数を目的別に調べることができる辞典

ホーム > C 標準関数逆引き辞典 > 文字列 > 文字列の一部を辞書式の順序で比較する

C 標準関数逆引き辞典

:: reverse dictionary ::

文字列

※ソースファイルについて


文字列の一部を辞書式の順序で比較する

文字列の一部を辞書式の順序で比較するには、strncmp 関数を使います。

≪宣言≫

#include <string.h>
char str[] = "C Program";
int cmpe, cmpm, cmpp;

cmpe = strncmp(str, "C Project", 5);
cmpm = strncmp(str, "C Project", 6);
cmpp = strncmp(str, "C PROJECT", 4);

ソースファイル

cmpe0cmpm-1cmpp1 になります。


ワイド文字列の場合は wcsncmp 関数を使います。

≪宣言≫

#include <locale.h>
#include <string.h>
wchar_t str[] = L"Cプログラム";
int cmpe, cmpm, cmpp;

setlocale(LC_ALL, "ja");  /* ロケールを日本語に設定 */

cmpe = wcsncmp(str, L"Cプロジェクト", 3);
cmpm = wcsncmp(str, L"Cプロジェクト", 4);
cmpp = wcsncmp(str, L"Cプラスプラス", 3);

ソースファイル

cmpe0cmpm-8cmpp4 になります。

▼ 関数

int strncmp(const char *sa, const char *sb, size_t sz)
int wcsncmp(const wchar_t *sa, const wchar_t *sb, size_t sz)

文字列 sa と文字列 sb の一部を辞書式の順序で比較します。

strncmpsz バイト分、wcsncmpsz 文字分の文字列を比較します。

文字列 sa が文字列 sb と等しい場合は 0、文字列 sa が文字列 sb より小さい場合は -1 以下の値、文字列 sa が文字列 sb より大きい場合は 1 以上の値を返します。

●引数

sa … 比較する文字列
sb … 比較する文字列
sz … 比較する長さ(strncmp はバイト数、wcsncmp は文字数)

●戻り値

・文字列 sa が文字列 sb と等しい … 0
・文字列 sa が文字列 sb より小さい( sa < sb ) … -1 以下(負)
・文字列 sa が文字列 sb より大きい( sa > sb ) … 1 以上(正)

注目キーワード ベスト5

  1. セキュリティ
  2. ホスティング
  3. レンタルサーバ
  4. ファイル復旧
  5. ハードディスク修復

文字列 - string -


ホーム > C 標準関数逆引き辞典 > 文字列 > 文字列の一部を辞書式の順序で比較する

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com