C言語 文字列内の文字列を検索 - string.h - [ strstr ]

2008.11.16 Sunday | by LRESULT


字列内の文字列を検索するには、strstr()を使います。


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





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

int main(void)
{
  char *s1 = "ABCD123ABCD123";
  char *s2 = "123";
  char *ret;

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

  return 0;
}



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

strstr()は先頭から検索する為、最初に見つけた位置を返します。

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


コメント

strstr()のサンプルコードの結果の欄の表示が間違ってますよ。
ABC→123だと思います。

いつもこのサイトを使っております。
ありがとうございます。

| nanashi | 2015/04/16 1:11 PM |

コメントする











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

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

トラックバック