<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Iostream</id>
	<title>Iostream - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Iostream"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Iostream&amp;action=history"/>
	<updated>2026-07-16T10:14:10Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Iostream&amp;diff=646461&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​Add 2 books for verifiability (20240107)) #IABot (v2.0.9.5) (GreenC bot</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Iostream&amp;diff=646461&amp;oldid=prev"/>
		<updated>2024-01-08T00:13:26Z</updated>

		<summary type="html">&lt;p&gt;Add 2 books for verifiability (20240107)) #IABot (v2.0.9.5) (&lt;a href=&quot;/index.php?title=User:GreenC_bot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:GreenC bot（页面不存在）&quot;&gt;GreenC bot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|1=zh-cn:流输入输出;zh-tw:資料流輸入輸出&lt;br /&gt;
|2=zh-cn:库;zh-tw:函式庫&lt;br /&gt;
|3=zh-cn:类型;zh-tw:型別&lt;br /&gt;
|4=zh-cn:类;zh-tw:類別&lt;br /&gt;
|5=zh-cn:实现;zh-tw:實作&lt;br /&gt;
|6=zh-cn:算符;zh-tw:運算子&lt;br /&gt;
|7=zh-cn:数据汇;zh-tw:資料槽&lt;br /&gt;
|8=zh-cn:汇;zh-tw:槽&lt;br /&gt;
|9=zh-cn:编程者;zh-tw:程式設計師&lt;br /&gt;
|10=zh-cn:构建;zh-tw:建構&lt;br /&gt;
|11=zh-cn:声明;zh-tw:宣告&lt;br /&gt;
|12=zh-cn:制表符;zh-tw:製表符（&amp;lt;code&amp;gt;&amp;#039;\n&amp;#039;&amp;lt;/code&amp;gt;）&lt;br /&gt;
|13=zh-cn:算子;zh-tw:運算子&lt;br /&gt;
|14=zh-cn:代码;zh-tw:程式碼&lt;br /&gt;
}}&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
{{C++ Standard library}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;iostream&amp;#039;&amp;#039;&amp;#039;是[[C++]]中用于数据的流式[[I/O|输入与输出]]的[[头文件]]，屬於[[C++标准程式库]]的一部分。&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;ISO/IEC 14882:2003 Programming Languages — C++. [lib.string.streams]/1&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;lippman_c++_sstream&amp;quot;&amp;gt;{{cite book | title=C++ Primer | url=https://archive.org/details/cprimer00lipp | author=Stanley B. Lippman, Josee Lajoie | year=1999 - third edition | publisher=Addison-Wesley | location=Massachusetts | pages=[https://archive.org/details/cprimer00lipp/page/1109 1109]–1112 | isbn=0-201-82470-1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
iostream 为 Input/Output Stream 的缩写，即是輸入/輸出流。「流」是一連串從I/O設備讀寫的[[字符]]。&amp;lt;ref&amp;gt;{{cite book|title=C++ Primer (5th Edition)|isbn=0-201-72148-1|pages=5}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==概述==&lt;br /&gt;
流输入输出库中的大部分类都是模板类，可以适用于不同的字符类型或操作函数（如字符比较）。常用的一些字符类型的流输入输出已经用[[typedef]]定义了相应的模板特化实例。&lt;br /&gt;
&lt;br /&gt;
例如，&amp;lt;code&amp;gt;basic_fstream&amp;lt;CharT,Traits&amp;gt;&amp;lt;/code&amp;gt;是文件流输入输出的实现的模板类。它的一个特化实例：&amp;lt;code&amp;gt;fstream&amp;lt;/code&amp;gt;是&amp;lt;code&amp;gt;basic_fstream&amp;lt;char,char_traits&amp;lt;char&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;的类型别名，换句话说，这是&amp;lt;code&amp;gt;basic_fstream&amp;lt;/code&amp;gt;的字符类型为&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;使用默认字符操作集的特化实例。&lt;br /&gt;
&lt;br /&gt;
流输入输出库中的类可分为两-{zh-cn:类;zh-tw:類}-。一是定义了界面的抽象，适用于任何流类型，无论是文件流、内存缓存区流或者网络socket流。二是对具体数据源与数据汇（sink）的流的实现。C++标准库仅实现了文件流与内存缓冲区流。 &lt;br /&gt;
&lt;br /&gt;
流输入输出库中的类依据是否实现底层或高层操作可分为两类。实现了底层操作的类称作流缓冲区（stream buffer），处理没有任何格式化功能的字符。这些类极少被编程者直接使用。实现高层操作的类称作流，并提供了不同的格式化能力，是构建于流缓冲区之上的。 &lt;br /&gt;
&lt;br /&gt;
下表列出了流输入输出库的所有类的分-{zh-cn:类;zh-tw:類}-：&lt;br /&gt;
{| class=wikitable style=&amp;quot;font-size:0.85em&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Class&lt;br /&gt;
! style=&amp;quot;max-width:30em&amp;quot; | 解释&lt;br /&gt;
! Typedefs&lt;br /&gt;
|-&lt;br /&gt;
! colspan=3 style=&amp;quot;line-height:1em; padding: 0;&amp;quot; | Stream buffers (底层功能)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_streambuf basic_streambuf]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 提供了底层的输入输出界面，被具体的数据源与汇实现。罕用&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;streambuf&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wstreambuf&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_filebuf basic_filebuf]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 提供了文件流的底层的输入输出界面，被具体的数据源与汇实现。罕用&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;filebuf&amp;lt;/code&amp;gt; - 字符类型 &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wfilebuf&amp;lt;/code&amp;gt; -字符类型 &amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_stringbuf basic_stringbuf]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 提供了字符文件流的底层的输入输出界面，被具体的数据源与汇实现。罕用&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;stringbuf&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wstringbuf&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=3 style=&amp;quot;line-height:1em; padding: 0;&amp;quot; | Support classes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/ios_base ios_base]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 管理格式化信息与异常状态&lt;br /&gt;
| {{n/a}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ios basic_ios]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 管理流缓冲区&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wios&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=3 style=&amp;quot;line-height:1em; padding: 0;&amp;quot; | Input streams buffers (高层功能)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_istream basic_istream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个抽象流缓冲区并提供高层输入界面，如格式化能力&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;istream&amp;lt;/code&amp;gt; - 字符类型 &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wistream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ifstream basic_ifstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个文件流缓冲区并提供高层输入界面，如打开关闭流&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;ifstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wifstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_istringstream basic_istringstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个字符串流缓冲区并提供高层输入界面，如访问基础字符串&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;istringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wistringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=3 style=&amp;quot;line-height:1em; padding: 0;&amp;quot; | Output streams buffers (高层功能)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ostream basic_ostream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个抽象流缓冲区并提供高层输出界面，如格式化能力&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;ostream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wostream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ofstream basic_ofstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个文件流缓冲区并提供高层输出界面，如打开关闭流&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;ofstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wofstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ostringstream basic_ostringstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个字符串流缓冲区并提供高层输出界面，如访问基础字符串&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;ostringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wostringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=3 style=&amp;quot;line-height:1em; padding: 0;&amp;quot; | Input/output streams buffers (高层功能)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_iostream basic_iostream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个抽象流缓冲区并提供高层输入输出界面，如格式化能力&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;iostream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wiostream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_fstream basic_fstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个文件流输入输出缓冲区，并提供高层输入输出界面，如打开关闭文件&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;fstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wfstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_stringstream basic_stringstream]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 包装一个字符串流输入输出缓冲区，并提供高层输入输出界面，如访问基础字符串&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |&lt;br /&gt;
*&amp;lt;code&amp;gt;stringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;wstringstream&amp;lt;/code&amp;gt; - 字符类型&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===头文件===&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;ios&amp;gt;&amp;lt;/code&amp;gt;包含着&amp;lt;code&amp;gt;ios_base&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;的类的定义，负责信息格式化与关联的流缓冲区。&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;istream&amp;gt;&amp;lt;/code&amp;gt;包含了&amp;lt;code&amp;gt;basic_istream&amp;lt;/code&amp;gt;类模板定义，实现了格式化输入&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;ostream&amp;gt;&amp;lt;/code&amp;gt;包含了&amp;lt;code&amp;gt;basic_ostream&amp;lt;/code&amp;gt;类模板定义，实现了格式化输出&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;iostream&amp;gt;&amp;lt;/code&amp;gt;包含了&amp;lt;code&amp;gt;basic_iostream&amp;lt;/code&amp;gt;类模板定义，实现格式化输入输出&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;fstream&amp;gt;&amp;lt;/code&amp;gt;包含了&amp;lt;code&amp;gt;basic_ifstream&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;basic_ofstream&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;basic_fstream&amp;lt;/code&amp;gt;类模板定义，实现格式化文件流的格式化输入、输出&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;sstream&amp;gt;&amp;lt;/code&amp;gt;包含了&amp;lt;code&amp;gt;basic_istringstream&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;basic_ostringstream&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;basic_stringstream&amp;lt;/code&amp;gt; 类模板定义，实现格式化字符串流的输入输出&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;iomanip&amp;gt;&amp;lt;/code&amp;gt;包含了格式化manipulator&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;iosfwd&amp;gt;&amp;lt;/code&amp;gt;包含了所有的流输入输出库的前向声明（forward declaration） &lt;br /&gt;
&lt;br /&gt;
==支持类==&lt;br /&gt;
&amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/ios_base ios_base]&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/basic_ios basic_ios]&amp;lt;/code&amp;gt;是两个类处理底层比特流。&amp;lt;code&amp;gt;ios_base&amp;lt;/code&amp;gt;存储格式化信息与流的状态。&amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;管理关联的流缓冲区。&amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;通常以特化实例&amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;wios&amp;lt;/code&amp;gt;出现。&amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;与&amp;lt;code&amp;gt;ios_base&amp;lt;/code&amp;gt;很少被程序员直接使用。通常，它们的功能通过其它派生的类，如&amp;lt;code&amp;gt;iostream&amp;lt;/code&amp;gt;。&amp;lt;ref name=&amp;quot;lippman_c++_iosmanipulation&amp;quot;&amp;gt;{{cite book | title=C++ Primer | url=https://archive.org/details/cprimer00lipp | author=Stanley B. Lippman, Josee Lajoie | year=1999 - third edition | publisher=Addison-Wesley | location=Massachusetts | pages=[https://archive.org/details/cprimer00lipp/page/1112 1112]–1120 | isbn=0-201-82470-1}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;msdn_ios&amp;quot;&amp;gt;{{cite web | url=http://msdn.microsoft.com/en-us/library/5yc0df6d.aspx | title=&amp;lt;ios&amp;gt; Visual Studio 2010 | accessdate=28 September 2011 | publisher=Microsoft MSDN: Visual Studio 2010 | archive-date=2016-03-10 | archive-url=https://web.archive.org/web/20160310130016/https://msdn.microsoft.com/en-us/library/5yc0df6d.aspx | dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typedefs ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:0.85em&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 名字|| 描述&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ios&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;的&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;类型特化&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;wios&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;basic_ios&amp;lt;/code&amp;gt;的&amp;lt;code&amp;gt;wchar_t&amp;lt;/code&amp;gt;类型特化&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;streamoff&amp;lt;/code&amp;gt; || 支持内部操作&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;streampos&amp;lt;/code&amp;gt; || 保存缓冲器指针或文件指针的当前位置 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;wstreampos&amp;lt;/code&amp;gt; || 保存宽字符版的缓冲器指针或文件指针的当前位置&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;streamsize&amp;lt;/code&amp;gt; || 流的尺寸&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===格式化操纵符（manipulator） ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:0.85em&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 名字&lt;br /&gt;
! 描述&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/boolalpha boolalpha]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/boolalpha noboolalpha]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示流中的&amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;类型变量是否以&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;或&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;，还是以&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;或&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;形式出现&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/skipws skipws]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/skipws noskipws]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示输入操作时空白符是否被跳过&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showbase showbase]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showbase noshowbase]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示数的基数记数标志是否显示 &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showpoint showpoint]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showpoint noshowpoint]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示当浮点数小数部分为0时，是否显示小数部分&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showpos showpos]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/showpos noshowpos]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示对于正数是否显示&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;符号&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/unitbuf unitbuf]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/unitbuf nounitbuf]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示输出是否被缓冲&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/uppercase uppercase]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/uppercase nouppercase]&amp;lt;/code&amp;gt; &lt;br /&gt;
| 指示在16进制整数或浮点数输出时是否使用大写字符&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/left left]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/left right]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/left internal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 指出对齐方式&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/hex dec]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/hex oct]&amp;lt;/code&amp;gt;/ &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/hex hex]&amp;lt;/code&amp;gt;&lt;br /&gt;
| 指示显示整数时的记数法&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/fixed fixed]&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/fixed scientific]&amp;lt;/code&amp;gt;/&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/fixed hexfloat]&amp;lt;/code&amp;gt;([[C++11]]) / &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;[http://en.cppreference.com/w/cpp/io/manip/fixed defaultfloat]&amp;lt;/code&amp;gt;(C++11)&lt;br /&gt;
| 指示浮点数显示时的记数法&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==输入/输出流==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;iostream&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;头文件定义了输入输出流对象：&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cin&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cout&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cerr&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;clog&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;分别为标准输入、输出、错误（无缓冲）、簿记（有缓冲）的流对象。都属于&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;std&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; [[名字空间]]。&amp;lt;ref&amp;gt;{{cite book|last=Holzner|first=Steven|title=C++ : Black Book|year=2001|publisher=Coriolis Group|location=Scottsdale, Ariz.|isbn=1-57610-777-9|page=584|quote=...endl, which flushes the output buffer and sends a newline to the standard output stream.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
===ostream对象===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cout&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;属于&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ostream&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;类型，重载了左移位算符。cout左移位算符的运算结果为cout自身，这使得连续的左位移操作输出一串数据成为可能。&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cerr&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;与&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;clog&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;对象是&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ostream&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;类型。&lt;br /&gt;
===istream对象===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cin&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;是&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;istream&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;类型，重载了右位移算符。&lt;br /&gt;
&lt;br /&gt;
输入设备是按照行来把数据移入流输入缓冲区。也就是说，键盘输入数据时，只有按了换行键，这一行数据才进入缓冲区，可以读取。&lt;br /&gt;
&lt;br /&gt;
表达式&amp;lt;code&amp;gt;cin &amp;gt;&amp;gt; ival&amp;lt;/code&amp;gt;从标准输入读入一个值。有两种情况会使一个istream对象的bool转型为false：读到[[EOF]]（文件结束标志）或遇到一个无效的值（输入流进入fail状态）。可以用该istream对象的成员函数good()来测试，或者直接(bool)cin来测试。&lt;br /&gt;
&lt;br /&gt;
istream对象的bool转型为false的情况下，此后的所有读入动作都是无操作（nop）。直到调用istream对象的成员函数clear()来清除该对象的内部状态。&lt;br /&gt;
&lt;br /&gt;
缺省情况下，输入操作符丢弃空白符、空格符、制表符、换行符以及回车。如果希望读入上述字符，或读入原始的输入数据，一种方法是使用istream的get()成员函数来读取一个字符，另一种方法是使用istream的getline()成员函数来读取多个字符。istream的read(char* addr, streamsize size)函数从输入流中提取size个连续的字节，并将其放在地址从addr开始的内存中。istream成员函数gcount()返回由最后的get()、getline()、read()调用实际提取的字符数。&lt;br /&gt;
&lt;br /&gt;
输入流有三个函数来测试流状态：即bad(), fail()和eof()。ignore()用来抛掉制定个数的缓冲区中的字节。&lt;br /&gt;
&lt;br /&gt;
其它的istream成员函数：putback( char c ) 将字符放回iostream；unget()往回重置“下一个”istream项；peek()返回下一个字符或EOF，但不要提取出来 。&lt;br /&gt;
==输出格式化==&lt;br /&gt;
&lt;br /&gt;
=== 方法（函数）===&lt;br /&gt;
&lt;br /&gt;
{|class = wikitable&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;width(int x)&amp;lt;/code&amp;gt; || 下一个输出的最小字符数目&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;fill(char x)&amp;lt;/code&amp;gt; || 填充字符&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;precision(int x)&amp;lt;/code&amp;gt; || 设置浮点数的有效数字的位数&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===操纵符（manipulator）===&lt;br /&gt;
&lt;br /&gt;
操纵符（manipulator）是使用&amp;lt;code&amp;gt;&amp;lt;&amp;lt;&amp;lt;/code&amp;gt;或&amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;算子修改流的&amp;#039;&amp;#039;&amp;#039;对象&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;endl&amp;lt;/code&amp;gt; || &amp;quot;end line&amp;quot;: 流中插入换行符并刷新（flush）流的输出缓冲.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ends&amp;lt;/code&amp;gt; || &amp;quot;end string&amp;quot;: 向流中插入空字符（null character）并刷新（flush）流的输出缓冲.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;flush&amp;lt;/code&amp;gt; || 强迫流的输出缓冲写出到输出设备.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ws&amp;lt;/code&amp;gt; || 导致输入流吃掉空白（whitespace）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;showpoint&amp;lt;/code&amp;gt; || 指示流要显示小数点与一些数字0 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
头文件中&amp;lt;code&amp;gt;[[iomanip]]&amp;lt;/code&amp;gt;还定义了一些manipulators。&lt;br /&gt;
&lt;br /&gt;
== 批评 ==&lt;br /&gt;
某些环境下并不提供共享版本的C++库。导致程序要静态编译入C++标准库，使得程序的尺寸变大。&amp;lt;ref&amp;gt;{{cite web | url=http://www.mingw.org/wiki/Large_executables | title=MinGW.org: Large executables | accessdate=22 April 2009 | archive-date=2020-07-04 | archive-url=https://web.archive.org/web/20200704231225/http://www.mingw.org/wiki/Large_executables | dead-url=no }}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==示例==&lt;br /&gt;
使用[[C++]]写成的 [[Hello World]] 程序如下所示:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
在这段代码中，文件 iostream 中声明了[[程序]]所要输入和输出操作的有关信息。&lt;br /&gt;
&lt;br /&gt;
下述代码创建一个文件&amp;#039;file.txt&amp;#039;并写入文本&amp;#039;Hello World&amp;#039;：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    std::ofstream file;// can be merged to std::ofstream file(&amp;quot;file.txt&amp;quot;);&lt;br /&gt;
    file.open(&amp;quot;file.txt&amp;quot;);&lt;br /&gt;
    file &amp;lt;&amp;lt; &amp;quot;Hello world!\n&amp;quot;;&lt;br /&gt;
    file.close();// is not necessary because the destructor closes the open file by default&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* [http://en.cppreference.com/w/cpp/io C++ reference for input/output library] {{Wayback|url=http://en.cppreference.com/w/cpp/io |date=20210126040413 }}&lt;br /&gt;
*[http://incubator.apache.org/stdcxx/doc/stdlibug/VIII.html Apache C++ Standard Library Iostreams] {{Wayback|url=http://incubator.apache.org/stdcxx/doc/stdlibug/VIII.html |date=20080327071156 }}&lt;br /&gt;
*[http://www.informit.com/articles/article.aspx?p=170770 Comprehensive tutorial on formatting output in C++.] {{Wayback|url=http://www.informit.com/articles/article.aspx?p=170770 |date=20200121044241 }}&lt;br /&gt;
*[http://incubator.apache.org/stdcxx/doc/stdlibug/VIII.html Apache C++ Standard Library Iostreams] {{Wayback|url=http://incubator.apache.org/stdcxx/doc/stdlibug/VIII.html |date=20080327071156 }}&lt;br /&gt;
&amp;lt;!--BROKEN LINK: *[http://www.cs.niu.edu/~z088031/c241man/node77.html Reference on output formatting.]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{C++}}&lt;br /&gt;
[[Category:C++標準函式庫]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>