C言語 文字列内の文字を後ろから検索 - string.h - [ strrchr ]

2008.11.16 Sunday | by LRESULT


字列内の文字を後ろから検索するには、strrchr()を使用します。


strrchr
書式 char* strrchr( const char *s, int c )
機能 文字列内の文字を後ろから検索
引数 const char *s : 検索元の文字列
int c : 検索する文字
戻り値 検索文字を最初に発見した位置のポインタを返し、
発見出来なかったときは、NULLを返します。

先頭から検索するstrchr()については、こちら





サンプルコード
文字列「ABCDEFGABCDEFG」内から、文字「C」を後ろから検索して
最初に発見された位置を表示します。
#include <stdio.h>
#include <string.h>

int main(void)
{
  char *s = "ABCDEFGABCDEFG";
  int c = 'C';
  char *ret;

  ret = strrchr( s, c );
  if( ret != NULL ){
    printf( "%cを%d番目に発見しました¥n", c, ret - s );
  }
  else{
    printf( "%cは発見出来ません¥n", c );
  }

  return 0;
}



結果
Cを9番目に発見しました
と、表示されます。

strrchr()の戻り値は発見した位置のポインタなので
文字列s の先頭アドレスからのポインタの引き算で位置を割り出します。

カテゴリ:C言語 string.h | 21:20 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/131

トラックバック