输入一个字符串 在输入帧头 帧尾 取合法帧 (标志位的使用)

来源:互联网 发布:记录销售app软件 编辑:程序博客网 时间:2024/05/01 04:27
#include<stdio.h>


#include<string.h>


#define MAX_SIZE 1024


void head2tail(char *str,char *head,char *tail)
{  
int m = 0;
int n = 0;
int k = 0;
int low;
int high;
int len;
int headlen;
int taillen;
int i;


len = strlen(str);
headlen = strlen(head);
taillen = strlen(tail);
 
while(str[m] != '\0')

if(str[m] == head[0])
{
for(i = 0;i < headlen;i++)
{
if(str[m + i] == head[i])
{
n = 1;
}
else
{
n = 0;
break;
}
}
if(n == 1)
{
low = m;
}
}

if(str[m] == tail[0])
{
for(i = 0;i < taillen;i++)
{
if(str[m + i] == tail[i])
{
n = 2;
}
else
{
n = 0;
break;
}
}
if(n == 2)
{
high = m + i;
}

}


// if(str[m] == head[n] && str[m + headlen - 1] == head[m +headlen -1])
// {
// low = m;
// }

// if(str[m] == tail[k] && str[m + taillen - 1] == tail[k+taillen - 1])
// {
// high = m + taillen - 1;
// }
m++;
}


for(m = low;m < high;m++)
{
printf("%c",str[m]);
}
printf("\n");
}


int main()
{
char str[MAX_SIZE];
char head[MAX_SIZE];
char tail[MAX_SIZE];
char p[MAX_SIZE];


printf("please input a string:\n");
gets(str);
printf("str = %s\n",str);


printf("please input a head:\n");
gets(head);
printf("head = %s\n",head);

printf("please input a tail:\n");
gets(tail);
printf("tail = %s\n",tail);


head2tail(str,head,tail);


return 0;
}
0 0