易百教程

查找一个字符串是否出现在另一个字符串中(忽略大小写)

查找一个字符串是否出现在另一个字符串中(忽略大小写)。

参考实现代码

#define __STDC_WANT_LIB_EXT1__ 1       // Make optional versions of functions available
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define TEXT_LEN 100                   // Maximum input text length
#define SUBSTR_LEN 40                  // Maximum substring length

int main(void)
{
  char text[TEXT_LEN]; // Input buffer for string to be searched
  char substring[SUBSTR_LEN]; // Input buffer for string sought

  printf("输入要搜索的字符串(小于%d个字符):\n", TEXT_LEN);
  gets_s(text, TEXT_LEN);

  printf("\n输入要搜索的子字符串(小于%d个字符):\n", SUBSTR_LEN);
  gets_s(substring, SUBSTR_LEN);

  printf("\n输入的第一个字符串:\n%s\n", text);
  printf("输入的第二个字符串:\n%s\n", substring);

  // 将两个字符串转换为大写。
  for (int i = 0; (text[i] = (char)toupper(text[i])) != '\0'; ++i);
  for (int i = 0; (substring[i] = (char)toupper(substring[i])) != '\0'; ++i);

  printf("第二个字符串:%s 能在第一个字符串中找到.\n",
    ((strstr(text, substring) == NULL) ? "was not" : "was"));
  return 0;
}

编译并执行上面示例代码,得到以下结果: