Проблема с std::ostrstream
От: Gatwick  
Дата: 24.09.03 09:28
Оценка:
#include "stdafx.h"


#include <string>
#include <strstream>
#include <iomanip>
#include <iostream>

using namespace std;


int main(int argc, char* argv[])
{
    std::string strTableID;
    std::ostrstream ssBuf;
    ssBuf << 1;
    ssBuf << ends;
    strTableID = ssBuf.str();
    ssBuf.clear();
    ssBuf.flush();
    cout << strTableID << endl;

    ssBuf << 2;
    ssBuf << ends;
    strTableID = ssBuf.str();
    ssBuf.flush();
    ssBuf.clear();
    cout << strTableID << endl;

    return 0;
}

Почему выдает 
1
1

а не

1
2

?
Re: Проблема с std::ostrstream
От: Павел Кузнецов  
Дата: 24.09.03 11:39
Оценка:
Здравствуйте, Gatwick, Вы писали:

G>
G>     std::ostrstream ssBuf;
G>     ssBuf.clear();
G>     ssBuf.flush();
G>


Это не является кодом, "очищающим" std::ostrstream. Вместо этого лучше использовать:

ssBuf.clear();
ssBuf.str(std::string());
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[2]: Проблема с std::ostrstream
От: Sergeem Израиль  
Дата: 24.09.03 12:30
Оценка: 1 (1)
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Здравствуйте, Gatwick, Вы писали:


G>>
G>>     std::ostrstream ssBuf;
G>>     ssBuf.clear();
G>>     ssBuf.flush();
G>>


ПК>Это не является кодом, "очищающим" std::ostrstream. Вместо этого лучше использовать:


ПК>
ПК>ssBuf.clear();
ПК>ssBuf.str(std::string());
ПК>


а еще лучше:
ssBuf.freeze(0);

а совсем хорошо — ostringstream пользовать.
Serge.

Hасколько проще была бы жизнь, если бы она была в исходниках.
Re[3]: Проблема с std::ostrstream
От: Павел Кузнецов  
Дата: 24.09.03 12:39
Оценка: :)
Здравствуйте, Sergeem, Вы писали:

ПК>> Это не является кодом, "очищающим" std::ostrstream. Вместо этого

ПК>> лучше использовать:

ПК>>
ПК>> ssBuf.clear();
ПК>> ssBuf.str(std::string());
ПК>>


S> а еще лучше:

S> ssBuf.freeze(0);

S> а совсем хорошо — ostringstream пользовать.


LOL даже не заметил, что в коде динозавр...
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.