新手求教 如何在字符数组里找到字符元素
如何在字符数组里找到字符元素 该用什么函数[ 本帖最后由 zxlwinner 于 2011-9-5 16:57 编辑 ]
程序代码:
#include <stdio.h>
#include <string.h>
// 返回子串开始索引,未匹配则返回-1
int findSubStr(const char *src, size_t src_length, const char *sub, size_t sub_length, int begin_pos)
{
// 保证子串长度不大于源串索引开始序列
if (sub_length > (src_length - begin_pos))
return -1;
int i = begin_pos;
int j = 0;
while ((i + j < src_length) && (j < sub_length))
{
if (src[i + j] == sub[j])
j++;
else
{
i++;
j = 0;
}
}
if (j == sub_length)
return i;
else
return -1;
}
int main()
{
char src[] = "Tomorrow is another day";
char sub[] = "y"; // "other" ....
int pos = findSubStr(src, strlen(src), sub, strlen(sub), 0);
printf("%d\n", pos);
return 0;
}
