別の文字列(haystack)内の文字列(針)の出現回数を数える最も簡単な方法は何ですか?私がやっているやり方は:文字列の出現数を数える最も速い方法
int findWord(char * file, char * word){
char *fptr;
char * current = strtok_r(file, " ,.\n", &fptr);
int sum = 0;
while (current != NULL){
//printf("%s\n", current);
if(strcmp(current, word) == 0)
sum+=1;
current = strtok_r(NULL, " ,.\n", &fptr);
}
return sum;
}
もっと複雑なアルゴリズム(Boyer-Moore)を使う方が速いですか? ありがとう