Namespaces
Variants

std:: basic_istream

From cppreference.net
< cpp ‎ | io
ヘッダーで定義 <istream>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_istream : virtual public std:: basic_ios < CharT, Traits >

クラステンプレート basic_istream は、文字ストリームに対する高レベルな入力操作のサポートを提供します。サポートされる操作には、フォーマット済み入力(例:整数値や空白文字で区切られた文字および文字列)と非フォーマット入力(例:生の文字および文字配列)が含まれます。この機能は、基底クラス basic_ios を介してアクセスされる、基盤となる basic_streambuf クラスが提供するインターフェースに基づいて実装されています。ほとんどの実装において、 basic_istream の非継承データメンバは、 basic_istream::gcount() が返す値のみです。

cpp/io/ios base cpp/io/basic ios std-basic istream-inheritance.svg

継承図

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

定義済みヘッダー <istream>
定義
std::istream std :: basic_istream < char >
std::wistream std :: basic_istream < wchar_t >

目次

グローバルオブジェクト

標準ライブラリは2つのグローバルなbasic_istreamオブジェクトを提供します。

定義済みヘッダー <iostream>
標準C入力ストリーム stdin から読み込む
(グローバルオブジェクト)

メンバー型

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

メンバー関数

オブジェクトを構築する
(public member function)
[virtual]
オブジェクトを破棄する
(virtual public member function)
(C++11)
別の basic_istream からムーブ代入する
(protected member function)
書式付き入力
書式付きデータを抽出する
(public member function)
書式なし入力
文字を抽出する
(public member function)
次の文字を抽出せずに読み取る
(public member function)
文字を抽出解除する
(public member function)
入力ストリームに文字を戻す
(public member function)
指定された文字が見つかるまで文字を抽出する
(public member function)
指定された文字が見つかるまで文字を抽出して破棄する
(public member function)
文字ブロックを抽出する
(public member function)
利用可能な文字ブロックを抽出する
(public member function)
最後の書式なし入力操作で抽出された文字数を返す
(public member function)
位置指定
入力位置指示子を返す
(public member function)
入力位置指示子を設定する
(public member function)
その他
基盤となる記憶装置と同期する
(public member function)
(C++11)
関連付けられたバッファを除くストリームオブジェクトを交換する
(protected member function)

メンバークラス

入力操作のためのストリーム準備の基本ロジックを実装する
(公開メンバークラス)

非メンバー関数

文字と文字配列を抽出する
(関数テンプレート)

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)