永发信息网

求标准C语言,查找某字符串在指定字节串中的位置代码。

答案:2  悬赏:10  手机版
解决时间 2021-03-21 07:28
我知道有一个strchr函数可以查子串位置,但该函数只能处理字符串,对于含有零的字节串无能为力。因此,请写一个源可以是字节串,目标是字符串的类似函数。原型大概如下:
int FindStr( char *src , int src_len , char *tar )
若字节串 src 中不包含 tar, 返回 -1;
若字节串 src 中包含tar, 返回首字节所在位置。
如果有描述不清楚的地方请询问。谢谢。
最佳答案
#include 
#include 

int FindStr(char* source, char* target)
{
int i,j;
int s_len=strlen(source);
int t_len=strlen(target);
if(t_len>s_len)
{
return -1;
}
for(i=0;i<=s_len-t_len;i++)
{
j=0;
int flag=1;
if(source[i]==target[j])
{
int k,p=i;
for(k=0;k {
if(source[p]==target[j])
{
p++;
j++;
continue;

}
else
{
flag=0;
break;
}
}
}
else
{
continue;
}
if(flag==1)
{
return i+1;
}
}
return -1;
}

int main(int argc, char *argv[]) 
{
    char s1[50]={"\0"};
    char s2[50]={"\0"};
    fflush(stdin);
    scanf("%[^\n]",s1);
    fflush(stdin);
    scanf("%[^\n]",s2);
    int re=FindStr(s1,s2);
    printf("%d",re);
    return 0;
}
全部回答
你好! 含有0的字符串意义何在 如有疑问,请追问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
做账报税可以从中间做起吗?比如2011年注册的
哎!老婆毕竟是老婆,就算她做错了什么也不要
梦见前公公给我莫
谁呢告诉我农村户口可不可以个人办理三金?
女明星有个叫什么米的
单选题短周期元素A、B、C,原子序数依次递增
界头屋我想知道这个在什么地方
最强大脑有一期是有个人可以看电影多少帧的是
单选题理解全文,选出说法有误的一项A.这封信
芳村到和业广场怎么走
丝路传说,彗星传说和彗星神话首饰有什么区别
你好!同求迷大大的《百年老店系列》和《不死
北京通州区玉桥小区的宽带通,怎么样?
求英语翻译专业的实习报告及实习日记!
邹城市先锋针织厂怎么去啊,有知道地址的么
推荐资讯
暑假里因为救落水的人被一条蛇拖进河洞里后来
单选题人口迁移是一种历史现象。中国古代人口
药上面的5ug是什么意思
美国9月份的时候我们国家是几月份
天津哪有钓鱼的好地方?
对于反应:X+2NaOH═2Y+Cu(OH)2↓,下列分
和女朋友的情路好坎坷,经常吵架,我也经常动
单选题沙漠地区的植物通常都有发达的根系和较
攀枝花主城区地形是什么样子的,具体多少公里
前几天在一家特色餐馆吃了一道红烧猫肉,肉质
CS怎么可以把机器人全部变成敌人
微信2000元组装机iPhone7Plus可不可信
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?