Как очистить ostringstream без очистки флагов iomanip? - PullRequest
0 голосов
/ 09 апреля 2020

У меня проблема с отображением содержимого потока строки. Я хочу сделать поток строк, содержащий время таймера с фиксированными 2 числами до и после точки. Чтобы не создавать снова и снова, я решил сделать это в конструкторе класса, в котором он есть. Я делаю что-то вроде этого:

timerTextString << std::fixed << std::setprecision(2) << std::setw(5) << std::setfill('0');

Но, когда я чищу это так (я нашел это в других обсуждениях): timerTextString.str("");, кажется, очищает флаги iomanip. Когда я показываю это в следующем кадре, это не имеет никаких манипуляций. Чтобы это работало, я должен в каждой записи использовать manips:

timerTextString << std::fixed << std::setprecision(2) << std::setw(5) << std::setfill('0') <<timeLeft.asSeconds();

Есть ли у вас решение? Я не хочу использовать его при любой записи в код, который выглядит намного яснее и (возможно) быстрее, используя этот поток.

...