0

文を検索して、その中に特定の単語が含まれているかどうかを確認したい。strncasecmp 関数を使用すると、単語が文頭に存在する場合にのみ存在するかどうかを確認できます。単語が文の途中にある場合、どうすればその単語を見つけることができますか?

これまでのところ、私は持っています:

while (fgets(buffer, 1000, ifp) != NULL)
    for (i = 0; i < numberTerms; i++){
        len = strlen(term[i]);
        if (strncasecmp(buffer,term[i],len) == 0){
            printf("Term: %s\n", term[i]);

しかし...

The dog jumped over the fence

「Over」は検索しても出てきません。しかし、「The」が検索されている場合は、見つかります。必要なことを行う方法はありますか?

4

2 に答える 2

0

strstrorを使用する必要がありますstrcasestr(大文字と小文字を区別しない検索の場合)。後者は非標準です(そのままstrncasecmp

于 2013-10-30T02:24:05.577 に答える
0

strcasestr(const char *big, const char *little); を使用できます。

于 2013-10-30T02:26:05.973 に答える