名前空間
変種
操作

std::basic_stringstream

From cppreference.com
< cpp‎ | io
 
 
入出力ライブラリ
I/Oマニピュレータ
出力関数 (C++23)
C形式I/O
バッファ
(C++98/26*)
ストリーム
抽象化
ファイルI/O
文字列I/O
basic_stringstream
配列I/O
(C++98/26*)
(C++98/26*)
(C++98/26*)
同期出力
エラーカテゴリインターフェース
(C++11)
 
 
ヘッダ <sstream> で定義
template<

    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
> class basic_stringstream

    : public basic_iostream<CharT, Traits>;

クラス テンプレート std::basic_stringstream は、文字列ベースのストリームに対する入出力操作を実装します。これは、効果的に std::basic_string のインスタンスを格納し、それに対して入出力操作を実行します。

低レベルでは、このクラスは本質的に std::basic_stringbuf の生文字列デバイス実装を、std::basic_iostream の高レベルインターフェースにラップします。独自の std::basic_stringbuf メンバーへの完全なインターフェースが提供されます。

cpp/io/ios basecpp/io/basic ioscpp/io/basic istreamcpp/io/basic ostreamcpp/io/basic iostreamstd-basic stringstream-inheritance.svg

継承図

一般的な文字型のためにいくつかの typedef が提供されています

ヘッダ <sstream> で定義
定義
std::stringstream std::basic_stringstream<char>
std::wstringstream std::basic_stringstream<wchar_t>

目次

[編集] メンバ型

メンバ型 定義
char_type CharT[編集]
traits_type Traits; Traits::char_typeCharT でない場合、プログラムは不適格となる。[編集]
int_type Traits::int_type[編集]
pos_type Traits::pos_type[編集]
off_type Traits::off_type[編集]
allocator_type Allocator[編集]

[編集] 説明専用メンバ

名前 定義
sb 基礎となるバッファとして使用される std::basic_stringbuf<CharT, Traits, Allocator>
(説明用のメンバオブジェクト*)

[編集] メンバ関数

文字列ストリームを構築する
(public メンバ関数) [編集]
(C++11)
文字列ストリームを移動する
(public メンバ関数) [編集]
(C++11)
2つの文字列ストリームをスワップする
(public メンバ関数) [編集]
基礎となる生文字列デバイスオブジェクトを返す
(public メンバ関数) [編集]
文字列操作
基礎となる文字列デバイスオブジェクトの内容を取得または設定する
(public メンバ関数) [編集]
(C++20)
基礎となる文字列デバイスオブジェクトの内容のビューを取得する
(public メンバ関数) [編集]

[編集] 非メンバ関数

std::swap アルゴリズムを特殊化する
(関数テンプレート) [編集]

std::basic_istream から継承

メンバ関数

書式付き入力
書式付きデータを抽出する
(std::basic_istream<CharT,Traits>のpublicメンバ関数) [編集]
書式なし入力
文字を抽出する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
次の文字を抽出せずに読み取る
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
文字を非抽出する (un-extract)
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
文字を入力ストリームに戻す
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
指定された文字が見つかるまで文字を抽出する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
指定された文字が見つかるまで文字を抽出して破棄する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
文字のブロックを抽出する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
すでに利用可能な文字のブロックを抽出する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
最後の書式なし入力操作によって抽出された文字数を返す
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
位置付け
入力位置インジケータを返す
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
入力位置インジケータを設定する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]
その他
基礎となるストレージデバイスと同期する
(std::basic_istream<CharT,Traits> の public メンバ関数) [編集]

メンバクラス

入力操作のためのストリームの準備に関する基本的なロジックを実装する
(std::basic_istream<CharT,Traits> の public メンバクラス) [編集]

std::basic_ostream から継承

メンバ関数

書式付き出力
書式付きデータを挿入する
(std::basic_ostream<CharT,Traits>のpublicメンバ関数) [編集]
非書式付き出力
文字を挿入する
(std::basic_ostream<CharT,Traits> の public メンバ関数) [編集]
文字ブロックを挿入する
(std::basic_ostream<CharT,Traits> の public メンバ関数) [編集]
位置付け
出力位置インジケータを返す
(std::basic_ostream<CharT,Traits> の public メンバ関数) [編集]
出力位置インジケータを設定する
(std::basic_ostream<CharT,Traits> の public メンバ関数) [編集]
その他
基礎となるストレージデバイスと同期する
(std::basic_ostream<CharT,Traits> の public メンバ関数) [編集]

メンバクラス

出力操作のためにストリームを準備する基本的なロジックを実装する
(std::basic_ostream<CharT,Traits> の public メンバクラス) [編集]

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> の public メンバ関数) [編集]
ファイルの終端に達したかを確認する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
エラーが発生したかを確認する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
回復不能なエラーが発生したかを確認する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
エラーが発生したかを確認する (fail() のシノニム)
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
エラーが発生していないかを確認する (!fail() のシノニム)
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
状態フラグを返す
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
状態フラグを設定する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
状態フラグを変更する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
書式化
書式化情報をコピーする
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
フィル文字を管理する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
その他
例外マスクを管理する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
ロケールを設定する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
関連付けられたストリームバッファを管理する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
結びつけられたストリームを管理する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
文字をナロー化する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]
文字をワイド化する
(std::basic_ios<CharT,Traits> の public メンバ関数) [編集]

std::ios_base から継承

メンバ関数

書式化
書式フラグを管理する
(std::ios_base の public メンバ関数) [編集]
特定の書式フラグを設定する
(std::ios_base の public メンバ関数) [編集]
特定の書式フラグをクリアする
(std::ios_base の public メンバ関数) [編集]
浮動小数点数操作の小数点以下の精度を管理する
(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 メンバクラス) [編集]

メンバ型と定数

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

以下の定数も定義される

Constant 説明[編集]
app 各書き込みの前にストリームの末尾にシークする[編集]
2進 バイナリモードで開く[編集]
in 読み取り用に開く[編集]
out 書き込み用に開く[編集]
trunc オープン時にストリームの内容を破棄する[編集]
ate オープン直後にストリームの末尾にシークする[編集]
noreplace (C++23) 排他モードで開く[編集]

(typedef) [編集]
書式化フラグの型

以下の定数も定義される

Constant 説明[編集]
10進 整数I/Oに10進基数を使用する: std::dec を参照[編集]
8進 整数I/Oに8進基数を使用する: std::oct を参照[編集]
16進 整数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) [編集]
ストリームの状態の型

以下の定数も定義される

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

(typedef) [編集]
シーク方向の型

以下の定数も定義される

Constant 説明[編集]
beg ストリームの先頭[編集]
end ストリームの末尾[編集]
cur ストリーム位置インジケータの現在位置[編集]

(typedef) [編集]
イベントの種類を指定する
(enum) [編集]
コールバック関数の型
(typedef) [編集]
English 日本語 中文(简体) 中文(繁體)