主要实现了三种字符串的模式匹配,主要包括字符串子操作的集合,字符串指针回溯,和KMP算法
头文件
#ifndef INDEXHEAD_H_INCLUDED
#define INDEXHEAD_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 255
typedef char Sstring[MAXLEN + 1] ;
int StrAssign( Sstring str , char* ps ) ;
int StrLength( Sstring str ) ;
int StrPrint( Sstring str ) ;
int StrCompare( Sstring str1 , Sstring str2 ) ;
int StrSub( Sstring sub , Sstring str , int pos , int length ) ;
int StrIndex1( Sstring str , Sstring sub , int pos ) ;
int StrIndex2( Sstring str , Sstring sub , int pos ) ;
int StrIndex3( Sstring str , Sstring sub , int pos ) ;
int GetNext( Sstring str , int next[] ) ;
#endif // INDEXHEAD_H_INCLUDED
函数实现
#include "indexhead.h"
int StrAssign( Sstring str , char* ps )
{
int i = 0 ;
if( strlen( ps ) > MAXLEN )
{
printf( "ERROR!\n" ) ;
exit( 1 ) ;
}
str[i++] = strlen( ps ) ;
while( i <= strlen( ps ) )
{
str[i] = *( ps + i - 1 ) ;
i++ ;
}
return 0 ;
}
int St