- 使用库函数
char Name[256] = "kjljks217";
// 如果!=nullptr为Name包含217字符串
if (strstr(Name,"217" )!=nullptr)
{
continue;
}
- 简单实现方法一:
由于乱码我把文件的保存格式改为GB2312了
在file的advanced save options选项里修改
//#include <windows.h>
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
// 是否包含 参数一:比较文本 参数二:原文本
int IsContain(char *compare_text,char *original_text)
{
int i = 0, j = 0, flag = -1;
while (i < strlen(original_text) && j < strlen(compare_text))
{
if (compare_text[j] == original_text[i])
{
// 如果字符串都相同则两个字符都增加
i++;
j++;
}
else
{
i = i - j + 1; // 主串字符回到比较最开始比较的后一个字符
j = 0; // 字串字符重新开始
}
// 如果包含字符串 长度为寻找字串的长度
if (j == strlen(compare_text))
{
flag = 1;
break;
}
}
return flag;
}
void main() {
//SetConsoleOutputCP(65001);
if (IsContain("hh","你猜包不包含") == 1)
{
printf("包含\n");
}
else
{
printf("不包含\n");
}
system("pause");
return;
}
运行结果: