程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ 頭文件系列(istream)

C++ 頭文件系列(istream)

編輯:關於C++

C++ 頭文件系列(istream)。本站提示廣大學習愛好者:(C++ 頭文件系列(istream))文章只能為提供參考,不一定能成為您想要的結果。以下是C++ 頭文件系列(istream)正文


1. 簡介

其實叫它istream有點不適宜,由於該頭文件不只定義了istream,還定義了iostream

2. basic_istream模版

basic_istream承繼自basic_ios,也是其它輸出流的基類。

2.1 sentry類

The class sentry defines a class that is responsible for doing exception safe prefix and suffix operations.

sentry是哨兵的意思,規范給出的解釋是,這個類是為了做一些異常平安的前置和後置任務。 一切格式化輸出函數在執行前都會結構一個sentry對象,假如該對象結構成功,這些函數會持續執行; 否則,格式化函數會依據狀況設置badbit位,並拋出異常。

2.2 格式化輸出函數
  • operator >> : 該運算符有多個重載版本,辨別定義了包括bool、short、unsigned等在內的多個格式化輸出。 但留意,這些函數不包括對char有關類型的重載(但C++14仿佛有)。
2.3 非格式化輸出函數
  • gcount : 前往上一次非格式化函數提取的字符數。
  • get : 提取字符。
  • getline : 提取一行字符。
  • ignore : 提取並且保持字符。
  • peek : “peek”下一個字符,不提取。
  • read : 提取一塊字符。
  • readsome : 提取外部流緩沖區存有的字符。
  • putback : 放回最近提取的一個字符。
  • unget : “un-get”一個字符。
2.4 流定位函數
  • tellg : 前往輸出流以後字符的以後地位。
  • seekg : 設置輸出流的以後地位。
2.5 同步函數
  • sync : 這個函數有點難了解,它的外部調用順序是istream::sync -> basic_streambuf::pubsync -> basic_streambuf::sync。 因而要從底層函數的語義去了解它:將緩沖區的內容與關聯的字符流同步。 因而,假如是規范輸出流,則是將緩沖區的內容清空,堅持與鍵盤輸出的同步; 假如是文件流,則是將緩沖區內容與文件內容同步。
3 basic_iostream模版

該模版只是復雜地多承繼了basic_istream和basic_ostream,並定義了幾個protected的挪動賦值運算符和swap成員函數。

4 manipulators
  • ws : 在以後地位提取white-space。
5 typedefs
  • typedef basic_istream<char> istream
  • typedef basic_istream<wchar_t> wistream
  • typedef basic_iostream<char> iostream
  • typedef basic_iostream<wchar_t> wiostream



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved