#include <cstdlib> #include <iostream> using namespace std; int const MAX = 100; int strMatch(char *target, char *pat) { assert(target != NULL && pat != NULL); char *ptrTar = target; char *ptrPat = pat; int index = 0, tarLen, patLen; tarLen = strlen(target); patLen = strlen(pat); while(index<= tarLen - patLen) { if(*ptrTar++ == *ptrPat++) { if(!*ptrPat) return index; } else { index++; ptrTar = target + index; ptrPat = pat; } } return -1; } int main(int argc, char *argv[]) { char target[MAX] = {'/0'}; char pat[MAX] = {'/0'}; cout << "please input target string: " << endl; cin >> target; cout << "please input the pat string: " << endl; cin >> pat; int pos = strMatch(target, pat); if(pos == -1) cout << "not found" << endl; else cout << "found and pos is: " << pos << endl; system("PAUSE"); return EXIT_SUCCESS; }