case unsensitive mit umlautÄn?



  • bool isupper(char ch)
    {
    	return (ch>=65 && ch<=90);
    }
    bool islower(char ch)
    {
    	return (ch>=97 && ch<=122);
    }
    
    ///
    
    int SearchChar(int firstpos, char *lpStrContent, char *lpStrString)
    {
    	for(int i=firstpos;i<strlen(lpStrContent);++i)
    	{
    		for(int x=0;x<strlen(lpStrString);++x)
    		{
    			if(isupper(lpStrContent[i+x]) && islower(lpStrString[x]))
    			{
    				if(lpStrContent[i+x]+32 != lpStrString[x])
    				{
    					x=strlen(lpStrString);
    				}
    				else if(x==strlen(lpStrString)-1)
    				{
    					return i;
    				}
    			}
    			else if(islower(lpStrContent[i+x]) && isupper(lpStrString[x]))
    			{
    				if(lpStrContent[i+x] != lpStrString[x]+32)
    				{
    					x=strlen(lpStrString);
    				}
    				else if(x==strlen(lpStrString)-1)
    				{
    					return i;
    				}
    			}
    			else
    			{
    				if(lpStrContent[i+x] != lpStrString[x])
    				{
    					x=strlen(lpStrString);
    				}
    				else if(x==strlen(lpStrString)-1)
    				{
    					return i;
    				}
    			}
    		}
    	}
    	return -1;
    }
    

    hier werden aber leider die umlaute nich beachtet...wie kann ich die mit einbeziehen?



  • Was hindert dich daran vorgefertigte Funktionen zu verwenden? (strstr)



  • uppala gibts da was? ^^ ich guck mal nach strstr im msdn ^^
    edit:ja desis ja case sensitive ...
    edit2: strstrI
    😞 mensch jetzt hab ich mir sone mühe gegeben ^^
    edit3: aber bei meiner funktion kann ich nen einstiegspunkt angeben....

    also kann mir trotzdem jemand nen tip geben in welcher range die umlöäüöäte liegen? thx

    äh btw

    D:\Programme\C++ files\MSDev98\MyProjects\test\main.cpp(86) : error C2065: 'StrStr' : nichtdeklarierter Bezeichner
    D:\Programme\C++ files\MSDev98\MyProjects\test\main.cpp(87) : error C2065: 'StrStrI' : nichtdeklarierter Bezeichner
    

    edit und wieso gibt strstr() nen char zurück????????????


Anmelden zum Antworten