名前空間
変種
操作

std::ios_base

From cppreference.com
< cpp‎ | io
 
 
 
 
ヘッダ<ios>で定義
class ios_base;

クラス ios_base は、すべての I/O ストリームクラスの基底クラスとして機能する多目的クラスです。いくつかの種類のデータを保持します。

1) 状態情報: ストリームステータスフラグ。
2) 制御情報: 入力および出力シーケンスのフォーマットと設定されたロケールを制御するフラグ。
3) プライベートストレージ: long および void* メンバーの両方を許可するインデックス付きの拡張可能なデータ構造。これは、2つの任意の長さの配列、または2要素構造体の単一の配列、または別のコンテナとして実装される場合があります。
4) コールバック: imbue()std::basic_ios::copyfmt()、および ~ios_base() から呼び出されるユーザー定義関数の任意の数。

典型的な実装では、以下に示す fmtflagsiostateopenmode、および seekdir のすべての値に対応するメンバー定数、現在の精度、幅、およびフォーマットフラグ、例外マスク、バッファエラー状態、コールバックを保持するサイズ変更可能なコンテナ、現在設定されているロケール、プライベートストレージ、および xalloc() の静的整数変数を保持します。

目次

[編集] メンバ関数

オブジェクトを構築する
(protected メンバ関数) [編集]
オブジェクトを破棄する
(virtual public メンバ関数) [編集]
ストリームに代入する
(public メンバ関数) [編集]
書式化
書式フラグを管理する
(public メンバ関数) [編集]
特定の書式フラグを設定する
(public メンバ関数) [編集]
特定の書式フラグをクリアする
(public メンバ関数) [編集]
浮動小数点数操作の小数点以下の精度を管理する
(public メンバ関数) [編集]
フィールド幅を管理する
(public メンバ関数) [編集]
ロケール
ロケールを設定する
(public メンバ関数) [編集]
現在のロケールを返す
(public メンバ関数) [編集]
内部拡張可能配列
[static]
pword()iword() のインデックスとして安全に使用できる、プログラム全体で一意な整数を返す
(public static メンバ関数) [編集]
必要に応じてプライベートストレージのサイズを変更し、指定されたインデックスの long 要素にアクセスする
(public メンバ関数) [編集]
必要に応じてプライベートストレージのサイズを変更し、指定されたインデックスの void* 要素にアクセスする
(public メンバ関数) [編集]
その他
イベントコールバック関数を登録する
(public メンバ関数) [編集]
C++ と C の I/O ライブラリが相互運用可能かどうかを設定する
(public static メンバ関数) [編集]

メンバクラス

ストリーム例外
(public メンバクラス) [編集]
標準ストリームオブジェクトを初期化する
(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) [編集]
非推奨のメンバ型
説明
io_state (非推奨) iostate のように使用できる整数型
open_mode (非推奨) openmode のように使用できる整数型
seek_dir (非推奨) seekdir のように使用できる整数型
streamoff (非推奨) off_type のように使用できる不特定の型。std::streamoff とは限らない。
streampos (非推奨) pos_type のように使用できる不特定の型。std::streampos とは限らない。
(C++17まで)

[編集] 欠陥報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 1357
(N3110)
C++98 std::ios_base は、openmodefmtflags
および iostate 型に対して operator~operator&
および operator| を定義しており、BitmaskType[1] の要件に違反していた
これらの定義は削除された
  1. BitmaskType は、それ自身のビット演算をサポートする必要があります。ビット演算のサポートは外部から提供されるべきではありません。

[編集] 参照

任意のストリームバッファを管理する
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)