ドキュメントで特定のチャンクを検索するアルゴリズムを作成しようとしています。チャンクが見つかった場合は 1 が返され、そうでない場合は 0 が返されます。基本的に、チャンクが「abcd」で特定の長さが 2 の場合、チャンクは「ab」と「cd」に分割されます。次に、ドキュメントを検索して、「ab」または「cd」が存在するかどうかを確認します。私のアルゴリズムはほとんど問題ないと思いますが、プログラムがクラッシュし続けます。strncmpに関係していると思いますが、修正方法がわかりません。
これが私のコードです:
int main( )
{
char s1[] = "abcdef";
char s3[] = "cd";
size_t s1Size = strlen(s1);
int k = 2;
if(simple_substr_match(s3,k,s1,s1Size))
printf("Match Found\n");
else
printf("No Match Found\n");
return 0;
}
int simple_substr_match(const unsigned char *ps, int k, const unsigned char *ts, int n)
{
int isMatch;
int i;
int j;
for(i=0;i<n;i++)
{
if(strncmp(ts[i], ps, k))
{
isMatch = 1;
}
}
return isMatch;
}