klein- und großgeschriebene Strings



  • Ich hab ein eingabeaufforderung erstellt bei dem man befehle angibt. So jetzt wird der eingegebene string mit den befehlen verglichen, sobald ich aber ein Befehl groß schreibe erkennt das programm den befehl nicht. Meine Frage gibt es eine Funktion die kleine und große strings vergleicht?



  • Hallo,

    Weiß zwar nicht, ob es da bereits etwas für strings gibt, für chars gibt es jedoch die Funktionen std::tolower(), std::islower(), std::toupper(), std::isupper(), etc. in der cstdlib. => Mit diesem Wissen kannst du dir folgende Funktion basteln:

    std::string tolower(const std::string& rhs)
    {
        std::string s(rhs);
        for(std::size_t i = 0; i < s.size(); ++i)
           if(std::isupper(s[i])) // großbuchstabe?
                s[i] = std::tolower(s[i]); // umwandeln in Kleinbuchstabe
        return s;
    }
    

    Gruß Caipi



  • funktionen, die ganze strings in groß/kleinschrift umwandeln gibts im standard wirklich nicht.

    viele bibliotheken enthalten aber funktionen, mit denen c-strings ohne berücksichtigung von groß/kleinschreibung verglichen werden können. die heißen idR strcasecmp() oder stricmp(). die sind aber nicht standard.




Anmelden zum Antworten