强化练习5:找合法帧

来源:互联网 发布:windows音量控制程序 编辑:程序博客网 时间:2024/05/08 13:49

题目:

输入一个字符串,同时输入帧头和帧尾(可以是多个字符),

将该字符串中合法的帧识别出来.

提示:帧头和帧尾分别是head和tail  

字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧。


程序如下:

#include <stdio.h>#include <string.h>char *findstr(char *str, char *sub){char *p = NULL;int len = strlen(sub);while(*str){if(strncmp(str, sub, len) == 0){p = str;break;}str++;}return p;}void findframe(char *str, char *head, char *tail){char *phead = findstr(str, head);char *ptail = findstr(str, tail);if(phead != NULL && ptail != NULL){ptail += strlen(tail);*ptail = '\0';printf ("%s\n", phead);}}
int main(){char str[] = "fafgaasdheadhauboisoktailadad";findframe(str, "head", "tail");return 0;}