大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
最近在写一个程序,需要用到字符串匹配,并且返回匹配的字符串,C语言库函数中的strtstr无法满足我的要求,只能自己写了。
代码如下
//string match function
char *matchString(const char* buf, const char* sub) {
char* tbuf = buf;
char* tsub = sub;
int i = 0;//tbuf 主串的元素下标位置,从下标0开始找,可以通过变量进行设置,从其他下标开始找!
int j = 0;//tsub 子串的元素下标位置
while (i <= strlen(tbuf ) - 1 && j <= strlen(tsub )-1)
{
//字符相等,则继续匹配下一个字符
if (tbuf [i] == tsub [j])
{
i++;
j++;
}
//在匹配过程中发现有一个字符和子串中的不等,马上回退到 下一个要匹配的位置
else
{
i = i - j + 1;
j = 0;
}
}
//循环完了后j的值等于strlen(tsub) 子串中的字符已经在主串中都连续匹配到了
if (j == strlen(tsub))
{
return tsub;
}
return NULL;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171728.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...