C言語 文字列内から文字群を含まない先頭からの長さを取得 - string.h - [ strcspn ]

2008.11.17 Monday | by LRESULT


字列内から文字群を含まない、先頭からの長さを取得するには、strcspn()を使います。

strspn()とは逆で、文字列「CDEFGABABAB」があった場合に、
文字群を「ABC」とすると、先頭の「CDEFG」5文字を取得するということです。


strcspn
書式 size_t strcspn( const char *s1, const char *s2 )
機能 文字列内から文字群を含まない先頭からの長さを取得
引数 const char *s1 : 検索対象の文字列
const char *s2 : 検索する文字群
戻り値 文字群(s2)を含まない、文字列(s1)の先頭からの長さを返します。





サンプルコード
文字列「DACBBC2ABC」内から、文字群「1234」を含まない
先頭からの長さを取得してみます
#include <stdio.h>
#include <string.h>

int main(void)
{
  char *s1 = "DACBBC2ABC";
  char *s2 = "1234";
  int len;

  len = strcspn( s1, s2 );
  printf( "文字群を含まない先頭部分の長さ %d¥n", len );

  return 0;
}



結果
文字群を含まない先頭部分の長さ 6
と、表示されます。

「1234」で構成されない文字(途中で「2」まで)が
先頭から6文字というわけです。

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


コメントする











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

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

トラックバック