輸入一串字符,輸入頭串與尾串,在該字符串裏找出這段字符串



#include<stdio.h>

#include<string.h>

#define MAX 1024

int head_flog = 0;
int tail_flog = 0;


char *tail(char *str, char *b)
{
    int num = 0;
    int len_b;
    char *temp = b;

    len_b = strlen(b);

    if((NULL == str) || (NULL == b))
    {
 return NULL;
    }
    if(strlen(str) < strlen(b) )
    {
        return NULL;
    }
    if(head_flog != 0)
    {
        while((*str != '\0') && (!tail_flog))
 {
     while(*str == *temp)
     {
  str++;
  temp++;
  num++;
  if(num == len_b)
  {
      tail_flog = 1;
      temp = str -1;
      break;
         }
     }
     if((num != 0)&&(num != len_b))
     {
  num = 0;
  temp = b;
  str--;
     }
     str++;
 }
    }
    if(tail_flog != 0)
    {
 return temp;
    }
    else
    {
 printf("string illgeal!\n");
 return NULL;
    }
}

char *head(char *str, char *a)
{
    int num = 0;
    int len_a;
    char *temp = a;

    len_a = strlen(a);

    if ((NULL == str) ||(NULL == a))
    {
 return NULL;
    }
    if (strlen(str) < strlen(a))
    {
 return NULL;
    }
    while ((*str != '\0') && (!head_flog))
    {
 while(*str == *temp)
 {
     str++;
     temp++;
     num++;
     if(num == len_a)
     {
  head_flog = 1;
  temp = str - len_a;
  break;
     }
 }
 if((num != 0)&&(num != len_a))
 {
     num = 0;
     temp = a;
     str--;
 }
 str++;
    }
    if(head_flog != 0)
    {
 return temp;
    }
    else
    {
        printf("string illgeal!\n");
    }
}

int main()
{
    int n;
    int i;
    char str[MAX];
    char a[5];
    char b[5];
    char *start = NULL;
    char *end = NULL;

    printf("Enter string(<=100)!\n");
    scanf("%s",str);

    printf("Enter head string(<=5)!\n");
    scanf("%s",a);

    printf("Enter tail string(<=5)!\n");
    scanf("%s",b);

    start = head(str,a);
    end = tail(str,b);
    n = end - start + 1;

    if (n > 0)
    {
 for (i = 0; i < n; i++)
 {
     printf("%c",*start);
     start++;
 }
 printf("\n");
    }
    else
    {
 printf("No data!\n");
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章