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!


Anmelden zum Antworten