Каждая функция-член поиска начинает выполнение с создания объекта класса sentry. Он возвращается, уничтожая sentry объект.
pos_type tellp();
Returns: Если fail() != false, возвращается, pos_type(-1) чтобы указать на сбой. В противном случае возвращается rdbuf()->pubseekoff(0, cur, out).
basic_ostream<charT, traits>& seekp(pos_type pos);
Effects: Если fail() != trueвыполняется rdbuf()->pubseekpos(pos, ios_base::out). В случае неудачи вызовы функции setstate(failbit) (которые могут выкинуть ios_base::failure).
basic_ostream<charT, traits>& seekp(off_type off, ios_base::seekdir dir);
Effects: Если fail() != trueвыполняется rdbuf()->pubseekoff(off, dir, ios_base::out). В случае неудачи вызовы функции setstate(failbit) (которые могут выкинуть ios_base::failure).