查找一个字符串是否出现在另一个字符串中(忽略大小写)。
参考实现代码
#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;
}
编译并执行上面示例代码,得到以下结果: