std::ostringstream buffer zurücksetzen?



  • Hi,
    wie kann ich den ein std::ostringstream wieder entleeren? Wie ich es momentan handhabe wird natürlich jedesmal der neue Teil angehängt was ich so nicht haben will. Es gibt zwar 2 Methoden clear(); und flush(); die ansich recht vielversprechend klingen aber keine merkliche Wirkung zu haben scheinen.

    std::ostringstream buffer;
    
    buffer << glGetString(GL_VERSION);
        MyConsole.add("[SUPPORT] OpenGL "+buffer.str() +" detected!");
    
    buffer << glGetString(GL_RENDERER); //hier wird logischerweise appended
    .
    .
    .
    


  • Die korrekte Methode für dein Problem ist ...*trommelwirbel*... str(). Das gibt es in zwei überladenen Versionen: Die parameterlose gibt den vorhandenen Buffer zurück, die mit einem string-Parameter setzt den Buffer auf den übergebenen Startwert (um ihn zu leeren, brauchst du buffer.str(""); ).



  • danke vielmals


Anmelden zum Antworten