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

如果我搜索它,将找不到“结束”。但是,如果正在搜索“The”,则会找到它。有什么方法可以做我需要的吗?

4

2 回答 2

0

您可以使用 strcasestr(const char *big, const char *little);

于 2013-10-30T02:26:05.973 回答
0

您需要使用strstrstrcasestr(用于不区分大小写的搜索)。后者是非标准的(原样strncasecmp

于 2013-10-30T02:24:05.577 回答