Выходной поток C ++ удалить сохраненные данные [дубликаты]

0

В настоящий момент я сохраняю некоторые данные в поток вывода, например

std::ostringstream oss;
std::string fileData;

for(int i = 0; i < 4; i++)
{
    oss << i;
    fileData += oss.str();
}

теперь это результат

1
1
2
1
2
3
1
2
3
4

Как я могу очистить все данные внутри моей переменной oss, чтобы этого не произошло?

PS Я знаю, что могу просто объявлять новый выходной поток каждый раз, но это кажется весьма экстремальным.

  • 0
    Объявление ostringstream внутри цикла - это не «экстрим», а правильный стиль.
  • 0
    Ваш вывод должен быть неправильным, потому что у вас есть индекс, который идет от 0 до 3 включительно, а вывод идет от 1 до 4 ...
Показать ещё 1 комментарий
Теги:
for-loop
outputstream

1 ответ

1
Лучший ответ

Вы можете заменить его пустым строковым объектом:

oss.str(std::string());
  • 0
    Круто, отлично сработало

Ещё вопросы

Сообщество Overcoder
Наверх
Меню