我正在研究 std :: wostringstream 以及如何正确使用它。我想知道是否有任何方法事先知道构造的弦的长度?我尝试在MSDN和http://en.cppreference.com/w/上搜索信息,最后谷歌却找不到我想要的内容。
例如,如果我将 wostringstream 的引用传递给函数,是否有可能该函数知道流是否为空或者如果没有,并且通过调用<而不执行复制有多长时间强>名为.str()
答案 0 :(得分:3)
您可以使用tellp()
成员函数,该函数返回关联的流缓冲区的输出位置指示符。例如:
#include <string>
#include <sstream>
#include <iostream>
int main()
{
std::wostringstream oss;
oss << L"Hello" << " World!" << std::endl;
std::cout << oss.tellp();
}
这是live example。