stringstream-rdbuf () - pubsetbuf setzt den Puffer nicht

8

Ich versuche, einen String-Puffer eines Stringstream-Objekts zu ändern, ohne einen String mit der Methode pubsetbuf kopieren zu müssen, aber es funktioniert nicht. Ich befolge die Dokumentation in Ссылка . Hier ist mein Beispielcode:

%Vor%

Und die Ausgabe ist:

%Vor%

Ich weiß, dass ich stream.str (replace) verwenden kann, aber diese Methode kopiert den Wert von 'replace', und ich möchte keine Kopie machen.

Was vermisse ich?

Update: Ich verwende VS2010

    
Flamínio Maranhão 18.09.2012, 16:47
quelle

1 Antwort

10

Nicht sollte Inhalt festlegen. pubsetbuf ruft virtual setbuf

auf %Vor%

15 Effekte: Implementierung definiert, außer dass setbuf (0,0) keine Wirkung hat.

16 Rückgabe: Dies.

VS 2010. Es gibt keine Überladung der virtuellen Methode setbuf in basic_stringbuf , sie verwendet den Standard von basic_streambuf

%Vor%     
ForEveR 18.09.2012, 16:55
quelle

Tags und Links