_strlwr und Umlaute



  • Hallo,

    kennen _strlwr und _strupr keine Umlaute?

    AbCdEf ->ToUpper/ToLower sind kein Problem.

    Aber sobald ü ä's im Wort auftauchen, funktioniert das Ganze nicht mehr.

    Was kann man hier machen? 😞

    char buffer[200] = "ÄÜBä";
    _strlwr(buffer);
    // Ergebnis: ÄÜbä !!!
    

    Merci



  • ⚠ locale - Settings ändern!!

    char * locale;
    locale = setlocale( LC_ALL, "deu");  
    
    if(locale)
       cout << locale << endl;
    


  • Ich vermute dies hat mit dem Aufbau des Zeichensatzes zutun. Die Umlaute sind im länderspezifischen Teil des ASCII-Zeichensatzes verankert.
    Daher kann es sein, dass die Funktionen ToUpper und ToLower sie nicht berücksichtigen (im amerikanischen Zeichensatz sind sie z.B. nicht vorhanden).


Anmelden zum Antworten