cout lowercase



  • Ich suche nach einer Möglichkeit mittels cout einen beliebigen std::string auszugeben, wobei aber alle Großbuchstaben, durch kleinbuchstaben ersetzt werden.

    Ich habe zwar ein uppercase im std gefunden, welches aber nur bei Hexadizimalzahlen zu funktionieren scheint.

    std::cout << std::uppercase << std::string("aBcDeF") << std::endl;
    

    Gibt es eine Möglichkeit (irgendeinen Manipulator für Streams) einen std::string auf einfachem Wege mit der Standardbibliothek nur Lowercases auszugeben, ohne den String durchzuiterieren und sämtliche Großbuchstaben in Kleinbuchstaben umzuwandeln?

    Thanks in Advance!
    Georgius



  • nein.



  • Ich denke, dass ließe sich mit nem selbstgeschriebenen Streambuffer regeln. Wie das geht müsste ich aber selber erst nachlesen.

    Wenn Du das versuchen wilst, versuch mal die Forensuche 😉



  • die einfache lösung müsste in etwa so aussehen

    string str("aBcDeF");
    
    //facet finden
    const ctype<char>& facet=use_facet<ctype<char> >(cout.getloc()); 
    
    //und nun tolower aufrufen
    facet.tolower(str.begin(),str.end());
    
    cout<<str;
    

Anmelden zum Antworten