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

ホーム > C 標準関数逆引き辞典 > 文字列 > 指定した文字が最初に現れる位置を求める

C 標準関数逆引き辞典

:: reverse dictionary ::

文字列

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


指定した文字が最初に現れる位置を求める

指定した文字が最初に現れる位置を求めるには、strchr 関数を使います。

≪宣言≫

#include <string.h>
char str[] = "C Program and C++ Program";
char *p;
char ch = 'P';

p = strchr(str, ch);

ソースファイル

p"Program and C++ Program" になります


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

≪宣言≫

#include <locale.h>
#include <string.h>
wchar_t str[] = L"CプログラムとC++プログラム";
wchar_t *p;
wchar_t ch = L'グ';

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

p = wcschr(str, ch);

ソースファイル

p"グラムとC++プログラム" になります

▼ 関数

char *strchr(const char *s, int c)
wchar_t *wcschr(const wchar_t *s, wint_t c)

文字列 s から文字 c が最初に現れる位置を求めます。

文字 c が見つかった場合は、最初に現れた位置へのポインタを返します。 文字 c が見つからなかった場合は、NULL を返します。

●引数

s … 文字列
c … 検索する文字

●戻り値

・文字 c が見つかった … 最初に現れた位置へのポインタ
・文字 c が見つからなかった … NULL

▼ 参考

文字 c が最初に現れた位置のインデックスは、計算で求めることができます。

char str[] = "C Program and C++ Program";
char *p;
char ch = 'P';
int index;

p = strchr(str, ch);
index = p - str;

ソースファイル

index2 になります。


ワイド文字列の場合も同じです。

wchar_t str[] = L"CプログラムとC++プログラム";
wchar_t *p;
wchar_t ch = L'グ';
int index;

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

p = wcschr(str, ch);
index = p - str;

ソースファイル

index3 になります。

注目キーワード ベスト5

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

文字列 - string -


ホーム > C 標準関数逆引き辞典 > 文字列 > 指定した文字が最初に現れる位置を求める

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