denkfehler in suchfunktion?
-
ich wollte mal ne suchfunktion schreibseln die nen char in nem char sucht:
int SearchChar(char *lpStrContent, char *lpStrString) { for(int i=0;i<strlen(lpStrContent);++i) { for(int x=0;x<strlen(lpStrString);++x) { if(lpStrContent[i+x] != lpStrString[x]) { x=strlen(lpStrString); } else if(x==strlen(lpStrString)) { return i; } } } return -1; }kriege immer -1 zurück...wo liegt der denkfehler? ^^
-
habs:
int SearchChar(char *lpStrContent, char *lpStrString) { for(int i=0;i<strlen(lpStrContent);++i) { for(int x=0;x<strlen(lpStrString);++x) { if(lpStrContent[i+x] != lpStrString[x]) { x=strlen(lpStrString); } else if(x==strlen(lpStrString)-1) { return i; } } } return -1; }aber jetzt noch ne frage direkt dazu: ich hab n window welches als edit feld dient. Nun will ich den gefunden text markieren:
SendMessage(textField,EM_SETSEL, SearchChar(WindowText(textField), searchcharx), SearchChar(WindowText(textField), searchcharx)+strlen(searchcharx));nix passiert!