Я смотрю в станд :: wostringstream и как правильно его использовать. Мне было интересно, есть ли способ узнать длину построенной строки заранее? Я пытался найти информацию о MSDN и http://en.cppreference.com/w/ и, наконец, Google, но не смог найти то, что я искал.
Например, если я передам ссылку wostringstream для функции, возможно ли, чтобы функция узнала, является ли поток пустым или нет, и как долго это происходит, не делая копию, вызывая .ул ()?
Вы могли бы использовать tellp()
функция-член, которая возвращает индикатор выходной позиции связанного буфера потока. Например:
#include <string>
#include <sstream>
#include <iostream>
int main()
{
std::wostringstream oss;
oss << L"Hello" << " World!" << std::endl;
std::cout << oss.tellp();
}
Вот живой пример.
Других решений пока нет …