| 
//*********************************************************
// string に最初に現れた pattern へのポインタを返します。
// pattern の終端文字 '\0' は検索対象外です。
// pattern が空文字列の場合は string を返します。
// pattern が見つからない場合は NULL を返します。
//*********************************************************
char *strstrj( const char *string, const char *pattern )
{
	// pattern が空文字列の場合は string を返します。
	if ( '\0' == pattern[ 0 ] )
	{
		return (char *)string;
	}
	// string に最初に現れた pattern へのポインタを返します。
	const size_t length = strlen( pattern );
	{for( const char *p = string; NULL != (p = strchrj(p, pattern[ 0 ])); ++p )
	{
		if ( 0 == strncmp( p, pattern, length ) )
		{
			return (char *)p;
		}
	}}
	// pattern が見つからない場合は NULL を返します。
	return NULL;
}//strstrj
関連
・シフトJIS文字列の判定・シフトJISコードで使用する値
 ・シフトJIS文字列の文字検索
 
 |  |