3

私はstd::wostringstreamとそれを適切に使用する方法を調べています。構築された文字列の長さを事前に知る方法があるかどうか疑問に思っていましたか? MSDN とhttp://en.cppreference.com/w/で情報を検索してみましたが、最後にグーグルで検索しましたが、探しているものが見つかりませんでした。

たとえば、wostringstreamの参照を関数に渡す場合、関数は、ストリームが空かどうか、および.str()を呼び出してコピーを行わずにどれくらいの長さかを知ることができますか?

4

1 に答える 1

3

tellp()関連するストリーム バッファーの出力位置インジケーターを返すメンバー関数を使用できます。例えば:

#include <string>
#include <sstream>
#include <iostream>

int main()
{
    std::wostringstream oss;
    oss << L"Hello" << " World!" << std::endl;
    std::cout << oss.tellp();
}

これが実際のです。

于 2013-04-04T08:59:18.637 に答える