08/03/30 15:21:42
>>863を把握していなかった。修正。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp( const void* key, const void* base )
{
const char* key_str = (const char*)key;
return strncmp( key_str, (const char*)base, strlen(key_str) );
}
int main(void)
{
static const char base[] = "aaabbc"; // 規定の文字列
const char* hit;
char str[101];
printf( "検索文字列:" );
scanf( "%100s", str );
hit = (const char*)bsearch( str, base, strlen(base), 1, cmp );
if( hit )
printf( "'%s'は%d文字目から存在します。\n", str, hit-base+1 );
else
printf( "'%s'は存在しません。\n", str );
return 0;
}