命名空間
變體
動作

std::basic_istream

出自 cppreference.com
< 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_streambuf 類別所提供的介面來實作的,該介面可透過 basic_ios 基礎類別來存取。在大多數實作中,basic_istream 唯一非繼承的資料成員是由 basic_istream::gcount() 返回的值。

cpp/io/ios basecpp/io/basic iosstd-basic istream-inheritance.svg

繼承圖

為常見的字元型別提供了數個 typedef:

定義於標頭檔 <istream>
類型 定義
std::istream std::basic_istream<char>
std::wistream std::basic_istream<wchar_t>

目錄

[編輯] 全域物件

標準函式庫提供了兩個全域的 basic_istream 物件。

定義於標頭檔 <iostream>
從標準 C 輸入串流 stdin 讀取
(全域物件)[編輯]

[編輯] 成員型別

成員型別 定義
char_type CharT[編輯]
traits_type Traits;若 Traits::char_type 不為 CharT,則程式形式不良 (ill-formed)。[編輯]
int_type Traits::int_type[編輯]
pos_type Traits::pos_type[編輯]
off_type Traits::off_type[編輯]

[編輯] 成員函式

建構物件
(公有成員函式) [編輯]
解構物件
(虛擬公有成員函式) [編輯]
(C++11)
從另一個 basic_istream 移動賦值
(保護成員函式) [編輯]
格式化輸入
提取格式化數據
(公有成員函式) [編輯]
非格式化輸入
擷取字元
(公有成員函式) [編輯]
讀取下一個字元但不擷取它
(公有成員函式) [編輯]
復原擷取字元
(公有成員函式) [編輯]
將字元放回輸入串流
(公有成員函式) [編輯]
擷取字元直到找到指定的字元為止
(公有成員函式) [編輯]
擷取並丟棄字元直到找到指定的字元為止
(公有成員函式) [編輯]
擷取字元區塊
(公有成員函式) [編輯]
擷取已可用的字元區塊
(公有成員函式) [編輯]
回傳上次非格式化輸入操作所擷取的字元數
(公有成員函式) [編輯]
定位
回傳輸入位置指示器
(公有成員函式) [編輯]
設定輸入位置指示器
(公有成員函式) [編輯]
其他
與底層儲存裝置同步
(公有成員函式) [編輯]
(C++11)
交換串流物件,但排除相關聯的緩衝區
(保護成員函式) [編輯]

[編輯] 成員類別

實作串流準備進行輸入操作的基本邏輯
(公有成員類別) [編輯]

[編輯] 非成員函式

提取字元與字元陣列
(函式模板) [編輯]

繼承自 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> 的公開成員函式) [編輯]
檢查是否已到達檔案末尾 (end-of-file)
(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> 的公開成員函式) [編輯]
其他
管理例外遮罩 (exception mask)
(std::basic_ios<CharT,Traits> 的公開成員函式) [編輯]
設定區域語言 (locale)
(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 的公開成員函式) [編輯]
設定特定的格式旗標
(std::ios_base 的公開成員函式) [編輯]
清除特定的格式旗標
(std::ios_base 的公開成員函式) [編輯]
管理浮點數操作的小數精確度
(std::ios_base 的公開成員函式) [編輯]
管理欄位寬度
(std::ios_base 的公開成員函式) [編輯]
在地化 (Locales)
設定區域語言 (locale)
(std::ios_base 的公開成員函式) [編輯]
回傳當前區域語言 (locale)
(std::ios_base 的公開成員函式) [編輯]
內部可擴充陣列
[靜態]
回傳一個程式範圍內唯一的整數,可安全地用作 pword()iword() 的索引
(std::ios_base 的公開靜態成員函式) [編輯]
必要時調整私有儲存區的大小,並存取位於指定索引的 long 元素
(std::ios_base 的公開成員函式) [編輯]
必要時調整私有儲存區的大小,並存取位於指定索引的 void* 元素
(std::ios_base 的公開成員函式) [編輯]
其他
註冊事件回呼函式
(std::ios_base 的公開成員函式) [編輯]
設定 C++ 與 C I/O 程式庫是否互通
(std::ios_base 的公開靜態成員函式) [編輯]
成員類別
串流例外
(std::ios_base 的公開成員類別) [編輯]
初始化標準串流物件
(std::ios_base 的公開成員類別) [編輯]

成員型別與常數

類型 說明
串流開啟模式型別

亦定義了下列常數

常數 說明[編輯]
app 每次寫入前先移至串流末尾[編輯]
binary 二進位模式 開啟[編輯]
in 為讀取而開啟[編輯]
out 為寫入而開啟[編輯]
trunc 開啟時捨棄串流內容[編輯]
ate 開啟後立即移至串流末尾[編輯]
noreplace (C++23) 以獨佔模式開啟[編輯]

(typedef) [編輯]
格式化旗標型別

亦定義了下列常數

常數 說明[編輯]
dec 對整數 I/O 使用十進位基底:參見 std::dec[編輯]
oct 對整數 I/O 使用八進位基底:參見 std::oct[編輯]
hex 對整數 I/O 使用十六進位基底:參見 std::hex[編輯]
basefield dec | oct | hex。可用於遮罩操作[編輯]
left 左對齊 (在右側添加填充字元):參見 std::left[編輯]
right 右對齊 (在左側添加填充字元):參見 std::right[編輯]
internal 內部對齊 (在內部指定點添加填充字元):參見 std::internal[編輯]
adjustfield left | right | internal。可用於遮罩操作[編輯]
scientific 使用科學記號法產生浮點型別,若與 fixed 結合則使用十六進位記號法:參見 std::scientific[編輯]
fixed 使用定點記號法產生浮點型別,若與 scientific 結合則使用十六進位記號法:參見 std::fixed[編輯]
floatfield scientific | fixed。可用於遮罩操作[編輯]
boolalpha 以字母數字格式插入及擷取 bool 型別:參見 std::boolalpha[編輯]
showbase 為整數輸出產生表示數值基底的前綴,在貨幣 I/O 中要求貨幣指示器:參見 std::showbase[編輯]
showpoint 對浮點數輸出無條件產生小數點字元:參見 std::showpoint[編輯]
showpos 對非負數輸出產生 + 字元:參見 std::showpos[編輯]
skipws 在某些輸入操作前跳過開頭的空白字元:參見 std::skipws[編輯]
unitbuf 每次輸出操作後排空 (flush) 輸出:參見 std::unitbuf[編輯]
uppercase 在特定輸出操作中將某些小寫字母替換為其對應的大寫字母:參見 std::uppercase[編輯]

(typedef) [編輯]
串流狀態型別

亦定義了下列常數

常數 說明[編輯]
goodbit 無錯誤[編輯]
badbit 不可恢復的串流錯誤[編輯]
failbit 輸入/輸出操作失敗 (格式化或擷取錯誤)[編輯]
eofbit 關聯的輸入序列已到達檔案末尾 (end-of-file)[編輯]

(typedef) [編輯]
尋找方向型別

亦定義了下列常數

常數 說明[編輯]
beg 串流的開頭[編輯]
end 串流的末尾[編輯]
cur 串流位置指示器的當前位置[編輯]

(typedef) [編輯]
指定事件型別
(enum) [編輯]
回呼函式型別
(typedef) [編輯]
English Deutsch 日本語 中文(简体) 中文(繁體)