您的位置:首页 > 其它

有两个字符串str1和str2,写一个函数实现在str1中查找str2的初始位置。要求不区分大小写。

2014-09-25 21:58 323 查看
#include <stdio.h>

#include <string.h>

void main(int argc, char *argv[])

{

int SubStrPosition(char *str1, char *str2);

char *str1 = "are78fcbcdEgf";

char *str2 = "Re";

printf("The position is %d.\n", SubStrPosition(str1,str2));

return;

}

/* 查找str2在str1中的位置,不存在时返回-1 */

int SubStrPosition(char *str1,char *str2)

{

int istr1Len = 0;

int istr2Len = 0;

int i = 0;

int j = 0;

int iPosition = -1;

istr1Len = strlen(str1);

istr2Len = strlen(str2);

if (istr2Len > istr1Len)

{

printf("Str2 cann't be the substring of str1.\n");

return -1;

}

/* 开始寻找str2在str1中的位置,不区分大小写 */

for (i; i < istr1Len; i++)

{

for (j; j < istr2Len; j++)

{

if (!((str1[i+j] == str2[j]) || (str1[i+j] == str2[j] + 32)

|| (str1[i+j] == str2[j] - 32)))

break;

}

if (j == istr2Len)

{

iPosition = i+1;

break;

}

}

return iPosition;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐