Namespaces
Variants

std:: ostrstream

From cppreference.net
< cpp ‎ | io
定義済みヘッダー <strstream>
class ostrstream : public std:: ostream
(C++98で非推奨)
(C++26で削除)

クラス ostrstream は、配列を基盤とするストリームに対する出力操作を実装します。これは基本的に、生配列I/Oデバイスの実装( std::strstreambuf )を std::basic_ostream の高レベルインターフェースにラップします。

ostrstream の典型的な実装は、非派生データメンバを1つだけ保持します: std::strstreambuf 型のオブジェクトです。

目次

注記

str() を呼び出した後は、 freeze(false) を呼び出して、デストラクタが必要に応じてバッファを解放できるようにする必要があります。

C文字列として結果を使用する str() の呼び出しの前に、バッファはヌル終端されていなければなりません。通常は std::ends を使用します。

ostrstream はC++98以降非推奨となり、C++26以降削除されました。 std::ostringstream std::ospanstream (C++23以降) および boost::iostreams::array_sink が推奨される代替手段です。

メンバー関数

ostrstream オブジェクトを構築し、オプションでバッファを割り当てる
(public member function)
[virtual]
ostrstream オブジェクトを破棄し、オプションでバッファを解放する
(virtual public member function)
関連付けられた strstreambuf へのポインタを取得する
(public member function)
出力バッファにアクセスする
(public member function)
自動再割り当てを無効化/有効化する
(public member function)
書き込まれた文字数を取得する
(public member function)

std:: basic_ostream から継承

メンバ関数

書式付き出力
書式付きデータを挿入
( std::basic_ostream<CharT,Traits> の公開メンバ関数)
書式なし出力
文字を挿入
( std::basic_ostream<CharT,Traits> の公開メンバ関数)
文字ブロックを挿入
( std::basic_ostream<CharT,Traits> の公開メンバ関数)
位置指定
出力位置指示子を返す
( std::basic_ostream<CharT,Traits> の公開メンバ関数)
出力位置指示子を設定
( std::basic_ostream<CharT,Traits> の公開メンバ関数)
その他
基盤となる記憶装置と同期
( std::basic_ostream<CharT,Traits> の公開メンバ関数)

メンバクラス

出力操作のためのストリーム準備の基本ロジックを実装
( std::basic_ostream<CharT,Traits> の公開メンバクラス)

std:: basic_ios から継承

メンバ型

メンバ型 定義
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

メンバ関数

状態関数
エラーが発生していないか(つまりI/O操作が利用可能か)をチェック
( std::basic_ios<CharT,Traits> の公開メンバ関数)
ファイル終端に達したかどうかをチェック
( std::basic_ios<CharT,Traits> の公開メンバ関数)
エラーが発生したかどうかをチェック
( std::basic_ios<CharT,Traits> の公開メンバ関数)
回復不可能なエラーが発生したかどうかをチェック
( std::basic_ios<CharT,Traits> の公開メンバ関数)
エラーが発生したかどうかをチェック( fail() の同義語)
( std::basic_ios<CharT,Traits> の公開メンバ関数)
エラーが発生していないかどうかをチェック( ! fail() の同義語)
( std::basic_ios<CharT,Traits> の公開メンバ関数)
状態フラグを返す
( std::basic_ios<CharT,Traits> の公開メンバ関数)
状態フラグを設定
( std::basic_ios<CharT,Traits> の公開メンバ関数)
状態フラグを変更
( std::basic_ios<CharT,Traits> の公開メンバ関数)
書式設定
書式情報をコピー
( std::basic_ios<CharT,Traits> の公開メンバ関数)
埋め文字を管理
( std::basic_ios<CharT,Traits> の公開メンバ関数)
その他
例外マスクを管理
( std::basic_ios<CharT,Traits> の公開メンバ関数)
ロケールを設定
( std::basic_ios<CharT,Traits> の公開メンバ関数)
関連付けられたストリームバッファを管理
( std::basic_ios<CharT,Traits> の公開メンバ関数)
関連付けられたストリームを管理
( std::basic_ios<CharT,Traits> の公開メンバ関数)
文字をナロー化
( std::basic_ios<CharT,Traits> の公開メンバ関数)
文字をワイド化
( std::basic_ios<CharT,Traits> の公開メンバ関数)

std:: ios_base から継承

メンバー関数

フォーマット
フォーマットフラグを管理する
( std::ios_base のpublicメンバ関数)
特定のフォーマットフラグを設定する
( std::ios_base のpublicメンバ関数)
特定のフォーマットフラグをクリアする
( std::ios_base のpublicメンバ関数)
浮動小数点演算の10進精度を管理する
( std::ios_base のpublicメンバ関数)
フィールド幅を管理する
( std::ios_base のpublicメンバ関数)
ロケール
ロケールを設定する
( std::ios_base のpublicメンバ関数)
現在のロケールを返す
( std::ios_base のpublicメンバ関数)
内部拡張可能配列
[static]
pword() および iword() のインデックスとして安全に使用できるプログラム全体で一意の整数を返す
( std::ios_base のpublic staticメンバ関数)
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの long 要素にアクセスする
( std::ios_base のpublicメンバ関数)
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの void * 要素にアクセスする
( std::ios_base のpublicメンバ関数)
その他
イベントコールバック関数を登録する
( std::ios_base のpublicメンバ関数)
C++とCのI/Oライブラリが相互運用可能かどうかを設定する
( std::ios_base のpublic staticメンバ関数)
メンバクラス
ストリーム例外
( std::ios_base のpublicメンバクラス)
標準ストリームオブジェクトを初期化する
( std::ios_base のpublicメンバクラス)

メンバー型と定数

説明
ストリームオープンモード型

以下の定数も定義されています:

定数 説明
app 各書き込み前にストリームの終端へシーク
binary バイナリモード でオープン
in 読み取り用にオープン
out 書き込み用にオープン
trunc オープン時にストリームの内容を破棄
ate オープン直後にストリームの終端へシーク
noreplace (C++23) 排他モードでオープン

(typedef)
書式フラグ型

以下の定数も定義されています:

定数 説明
dec 整数I/Oで10進基数を使用: std::dec を参照
oct 整数I/Oで8進基数を使用: std::oct を参照
hex 整数I/Oで16進基数を使用: std::hex を参照
basefield dec | oct | hex 。マスキング操作に有用
left 左寄せ(右側に埋め文字を追加): std::left を参照
right 右寄せ(左側に埋め文字を追加): std::right を参照
internal 内部調整(内部指定点に埋め文字を追加): std::internal を参照
adjustfield left | right | internal 。マスキング操作に有用
scientific 浮動小数点型を指数表記で生成、 fixed と組み合わせた場合は16進表記: std::scientific を参照
fixed 浮動小数点型を固定小数点表記で生成、 scientific と組み合わせた場合は16進表記: std::fixed を参照
floatfield scientific | fixed 。マスキング操作に有用
boolalpha bool 型を英数字形式で挿入・抽出: std::boolalpha を参照
showbase 整数出力で数値基数を示す接頭辞を生成、通貨I/Oで通貨指示子を要求: std::showbase を参照
showpoint 浮動小数点数出力で無条件に小数点文字を生成: std::showpoint を参照
showpos 非負数値出力で + 文字を生成: std::showpos を参照
skipws 特定の入力操作前に先頭の空白をスキップ: std::skipws を参照
unitbuf 各出力操作後に出力をフラッシュ: std::unitbuf を参照
uppercase 特定の出力操作で特定の小文字を大文字に置換: std::uppercase を参照

(typedef)
ストリームの状態を表す型

以下の定数も定義されています:

定数 説明
goodbit エラーなし
badbit 回復不可能なストリームエラー
failbit 入出力操作の失敗(書式化または抽出エラー)
eofbit 関連付けられた入力シーケンスがファイルの終端に到達

(typedef)
シーク方向の型

以下の定数も定義されています:

定数 説明
beg ストリームの先頭
end ストリームの末尾
cur ストリーム位置指示子の現在位置

(typedef)
イベント種別を指定
(列挙型)
コールバック関数型
(typedef)