ich diesen Code,Warum gibt Stringstream rdbuf() und str() mir unterschiedliche Ausgabe?
int main()
{
std::string st;
std::stringstream ss;
ss<<"hej hej med dig"<<std::endl;
std::getline(ss,st,' ');
std::cout <<"ss.rdbuf()->str() : " << ss.rdbuf()->str();
std::cout <<"ss.rdbuf() : " << ss.rdbuf();
return 0;
}
mir Geben Sie diesen Ausgang
ss.rdbuf() -> str(): hej hej
ss.rdbuf graben med(): hej med dig
Aber warum ist das? Ist das wegen der Ostreams Definition des Operators < str() gibt mir unterschiedliche Ausgabe. In meinen Augen sollte die Ausgabe die selbe sein, selbst wenn ich getline benutzt habe.
Oh. Die Tatsache, dass ich es in einem von mir teuren C++ - Büchern nicht gesucht habe, ist, dass ich im Urlaub bin, also habe ich nur Google und ich konnte eine Seite nicht finden, die das Verhalten des Betreibers in einer Weise erklärt, die ich verstanden habe. Ich dachte eigentlich, dass getline Tokens mit dem Delim vom Stream entfernt hat. – mslot
Ich habe keines der teuren C++ - Bücher benutzt. Ich versichere nur, dass dieses Verhalten nicht rbuf() angegeben ist und im Standard nach diesem Überladungsoperator gesucht wird. – bayda
http://ra.dkuug.dk/jtc1/sc22/open/n2356/ - frei C++ Standard-Entwurf – bayda