static char* VSearchStr( char* s, char* end, SNode* list ) //считается, что после end есть строка длины(list)-1 { for ( ; s < end; s++ ) if ( list[0].Eq( *s ) ) { char* t = s + 1; SNode* p = list + 1; while ( true ) { if ( !p->a ) { return s; } if ( !p->Eq( *t ) ) { break; } t++; p++; } } return 0; }