您的位置:首页 > 其它

C 查找字符串

2015-10-16 17:50 211 查看
/*----------------------------------------------------------------
【函数介绍】:		dsz		是否存在于sz中的位置
【入口参数】:		sz		源字符串
dsz		目标字符串
【返回  值】:		n		第一次匹配上dsz的下标
-1		未发现
-2		参数错误
【出口参数】:		【无】
-----------------------------------------------------------------*/
static int findstr(char *sz, char *dsz)
{
if (!sz || !sz[0] || !dsz || !dsz[0])
return -2;

int ni = 0, ndi = 0;		// 源字符串下标、目标字符串下标 赋初值为 0
while (sz[ni] != '\0' && dsz[ndi] != '\0')
{
if (sz[ni] == dsz[ndi])	// 字符匹配
++ndi;				// ----目标字符串下标后移
else					// 不匹配
{
ni = ni - ndi;		// ----查找起始位置回退
ndi = 0;			// ----目标字符串下标重置 0
}
++ni;					// 源字符串下标后移
}

return ni = dsz[ndi] == '\0' ? ni - strlen(dsz) : -1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: