std::string convertedToString;
std::stringstream numberConverted;
storeNumberForConversion << time << endl; // time is a number, like the 4 in the example above
convertedToString = numberConverted.str() += "'";
Предположительно, это опечатка, и у вас есть:
std::string convertedToString;
std::stringstream numberConverted;
numberConverted << time << endl; // time is a number, like the 4 in the example above
convertedToString = numberConverted.str() += "'";
Вы передали от endl
до numberConverted
, поэтому он содержит новую строку.Просто!
Из вашего комментария в другом месте:
Я думал, что endl очистит поток?Если я не включаю endl, стоит ли беспокоиться о сбросе потока?Если так, как бы я сделал это без endl?
<< endl
- это то же самое, что и << '\n' << flush
.Таким образом, вы все еще можете выполнить очистку самостоятельно с помощью << flush
, но на самом деле обычно вам следует просто оставить это объекту потока для обработки в свое время.
Также использование +=
подозрительно (хотяв данном случае это дает правильный результат).
Исправлено:
std::stringstream numberConverted;
numberConverted << time;
std::string convertedToString;
convertedToString = numberConverted.str() + "'";