кто-либо мог сказать мне или указать на меня на простой пример того, как добавить интервал к stringstream, содержащему слово "Something" (или какое-либо слово)?
stringstream ss;
ss << "Something" << 42;
Для будущего ссылки проверьте это.
Я бы, наверное, сделаю что-то в этом общем порядке:
#include <string>
#include <sstream>
#include <iostream>
int main() {
std::stringstream stream("Something ");
stream.seekp(0, std::ios::end);
stream << 12345;
std::cout << stream.str();
return 0;
}
с нормальным потоком, чтобы добавить к концу, вы открыли с STD :: IOS :: ATE
или STD :: IOS :: APP
как второй параметр, но со строковыми потоками, который, кажется, не работает надежно (по крайней мере, с реальными компиляторами - ни GCC, ни VC ++ не дают выход, я ожидаю, что когда / если / если / если Я это делаю).
Если вы уже используете Boost, он имеет Lexical_Cast , которые можно использовать для этого. Это в основном упакованная версия вышеперечисленного, которая работает на любом типе, который можно записать и прочитать из потока.
string s("something");
s += boost::lexical_cast<string>(12);
Это, вероятно, не стоит использовать, если вы уже не используете Boost, но если вы можете сделать свой код более четким, особенно делать что-то вроде
foo(string("something")+boost::lexical_cast<string>(12));