540 lines
33 KiB
HTML
540 lines
33 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
|
|
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>输入/输出库</title>
|
|
<link rel="stylesheet" href="ext.css" />
|
|
<link rel="stylesheet" href="site_modules.css" />
|
|
</head>
|
|
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_io skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">输入/输出库</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<p>C++ 包含两个输入/输出库:现代的、基于流的 I/O 库和 C 风格 I/O 函数的标准集合。</p>
|
|
<h3><span class="mw-headline" id=".E5.9F.BA.E4.BA.8E.E6.B5.81.E7.9A.84_I.2FO">基于流的 I/O</span></h3>
|
|
<p>基于流的输入/输出库围绕抽象的输入/输出设备组织。这些抽象设备允许相同代码处理对文件、内存流或随即进行任意操作(例如压缩)的自定义适配器设备的输入/输出。</p>
|
|
<p>大多数已经被类模板化,故它们能被适配到任何标准字符类型。为最常用的基本字符类型( <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span> 和 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">wchar_t</span></span></span> )提供分离的 typedef 。以下列层次将类组织:</p>
|
|
<div class="t-inheritance-diagram">
|
|
<div class="center">
|
|
<div class="noresize" style="height: 377px; width: 549px;"><map name="ImageMap_1_1389037078" id="ImageMap_1_1389037078">
|
|
<area href="cpp-io-ios_base.html" shape="rect" coords="225,4,328,36" alt="cpp/io/ios base" />
|
|
<area href="cpp-io-basic_ios.html" shape="rect" coords="218,62,335,100" alt="cpp/io/basic ios" />
|
|
<area href="cpp-io-basic_istream.html" shape="rect" coords="305,126,422,164" alt="cpp/io/basic istream" />
|
|
<area href="cpp-io-basic_ifstream.html" shape="rect" coords="419,319,536,357" alt="cpp/io/basic ifstream" />
|
|
<area href="cpp-io-basic_istringstream.html" shape="rect" coords="410,255,545,292" alt="cpp/io/basic istringstream" />
|
|
<area href="cpp-io-basic_ostream.html" shape="rect" coords="130,126,247,164" alt="cpp/io/basic ostream" />
|
|
<area href="cpp-io-basic_ofstream.html" shape="rect" coords="14,319,132,357" alt="cpp/io/basic ofstream" />
|
|
<area href="cpp-io-basic_ostringstream.html" shape="rect" coords="4,255,143,292" alt="cpp/io/basic ostringstream" />
|
|
<area href="cpp-io-basic_fstream.html" shape="rect" coords="200,319,318,357" alt="cpp/io/basic fstream" />
|
|
<area href="cpp-io-basic_stringstream.html" shape="rect" coords="193,255,325,292" alt="cpp/io/basic stringstream" />
|
|
<area href="cpp-io-basic_iostream.html" shape="rect" coords="221,190,339,228" alt="cpp/io/basic iostream" /></map><img alt="std-io-complete-inheritance.svg" src="std-io-complete-inheritance.svg" width="549" height="377" usemap="#ImageMap_1_1389037078" /></div>
|
|
</div>
|
|
<div style="text-align:center;">
|
|
<p><span style="font-size:0.7em; line-height:130%">继承图</span></p>
|
|
</div>
|
|
</div>
|
|
<table class="t-dsc-begin">
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E6.8A.BD.E8.B1.A1">抽象</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-ios.html"><ios></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-ios_base.html"><span class="t-lines"><span>ios_base</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>管理格式化标志和输入/输出异常<br />
|
|
<span class="t-mark">(类)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ios.html"><span class="t-lines"><span>basic_ios</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>管理任意流缓冲<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-streambuf.html"><streambuf></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_streambuf.html"><span class="t-lines"><span>basic_streambuf</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>抽象原生设备<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-ostream.html"><ostream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ostream.html"><span class="t-lines"><span>basic_ostream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>包装给定的抽象设备(<span class="t-lc"><a href="cpp-io-basic_streambuf.html">std::basic_streambuf</a></span>)<br />
|
|
并提供高层输出接口<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-istream.html"><istream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_istream.html"><span class="t-lines"><span>basic_istream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>包装给定的抽象设备(<span class="t-lc"><a href="cpp-io-basic_streambuf.html">std::basic_streambuf</a></span>)<br />
|
|
并提供高层输入接口<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_iostream.html"><span class="t-lines"><span>basic_iostream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>包装给定的抽象设备(<span class="t-lc"><a href="cpp-io-basic_streambuf.html">std::basic_streambuf</a></span>)<br />
|
|
并提供高层输入/输出接口<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E6.96.87.E4.BB.B6_I.2FO_.E5.AE.9E.E7.8E.B0">文件 I/O 实现</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-fstream.html"><fstream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_filebuf.html"><span class="t-lines"><span>basic_filebuf</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>抽象原生文件设备<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ifstream.html"><span class="t-lines"><span>basic_ifstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层文件流输入操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ofstream.html"><span class="t-lines"><span>basic_ofstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层文件流输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_fstream.html"><span class="t-lines"><span>basic_fstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层文件流输入/输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E5.AD.97.E7.AC.A6.E4.B8.B2_I.2FO_.E5.AE.9E.E7.8E.B0">字符串 I/O 实现</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-sstream.html"><sstream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_stringbuf.html"><span class="t-lines"><span>basic_stringbuf</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现原生字符串设备<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_istringstream.html"><span class="t-lines"><span>basic_istringstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层字符串流输入操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ostringstream.html"><span class="t-lines"><span>basic_ostringstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层字符串流输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_stringstream.html"><span class="t-lines"><span>basic_stringstream</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>实现高层字符串流输入/输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E6.95.B0.E7.BB.84_I.2FO_.E5.AE.9E.E7.8E.B0">数组 I/O 实现</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-spanstream.html"><spanstream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_spanbuf.html"><span class="t-lines"><span>basic_spanbuf</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx23">(C++23)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现原始固定字符缓冲区设备<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ispanstream.html"><span class="t-lines"><span>basic_ispanstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx23">(C++23)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现固定字符缓冲区输入操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_ospanstream.html"><span class="t-lines"><span>basic_ospanstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx23">(C++23)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现固定字符缓冲区输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_spanstream.html"><span class="t-lines"><span>basic_spanstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx23">(C++23)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现固定字符缓冲区输入/输出操作<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-strstream.html"><strstream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-strstreambuf.html"><span class="t-lines"><span>strstreambuf</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-deprecated-cxx98">(C++98 中弃用)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现原生字符数组设备<br />
|
|
<span class="t-mark">(类)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-istrstream.html"><span class="t-lines"><span>istrstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-deprecated-cxx98">(C++98 中弃用)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现字符数组输入操作<br />
|
|
<span class="t-mark">(类)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-ostrstream.html"><span class="t-lines"><span>ostrstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-deprecated-cxx98">(C++98 中弃用)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现字符数组输出操作<br />
|
|
<span class="t-mark">(类)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-strstream.html"><span class="t-lines"><span>strstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-deprecated-cxx98">(C++98 中弃用)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>实现字符数组输入/输出操作<br />
|
|
<span class="t-mark">(类)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E5.90.8C.E6.AD.A5.E7.9A.84.E8.BE.93.E5.87.BA">同步的输出</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-syncstream.html"><syncstream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_syncbuf.html"><span class="t-lines"><span>basic_syncbuf</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>同步输出设备的包装<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-basic_osyncstream.html"><span class="t-lines"><span>basic_osyncstream</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>同步输出流的包装<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h4><span class="mw-headline" id="typedef">typedef</span></h4>
|
|
<p>提供对常用字符类型的下列 typedef :</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="kw1">typedef</span> basic_ios<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ios<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ios<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wios<span class="sy4">;</span>
|
|
|
|
<span class="kw1">typedef</span> basic_streambuf<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> streambuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_streambuf<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wstreambuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_filebuf<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> filebuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_filebuf<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wfilebuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_stringbuf<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> stringbuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_stringbuf<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wstringbuf<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_syncbuf<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> syncbuf<span class="sy4">;</span> <span class="co1">// C++20</span>
|
|
<span class="kw1">typedef</span> basic_syncbuf<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wsyncbuf<span class="sy4">;</span> <span class="co1">// C++20</span>
|
|
<span class="kw1">typedef</span> basic_spanbuf<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> spanbuf<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_spanbuf<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wspanbuf<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
|
|
<span class="kw1">typedef</span> basic_istream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> istream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_istream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wistream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ostream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ostream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ostream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wostream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_iostream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> iostream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_iostream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wiostream<span class="sy4">;</span>
|
|
|
|
<span class="kw1">typedef</span> basic_ifstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ifstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ifstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wifstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ofstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ofstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ofstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wofstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_fstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> fstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_fstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wfstream<span class="sy4">;</span>
|
|
|
|
<span class="kw1">typedef</span> basic_istringstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> istringstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_istringstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wistringstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ostringstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ostringstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_ostringstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wostringstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_stringstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> stringstream<span class="sy4">;</span>
|
|
<span class="kw1">typedef</span> basic_stringstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wstringstream<span class="sy4">;</span>
|
|
|
|
<span class="kw1">typedef</span> basic_osyncstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> osyncstream<span class="sy4">;</span> <span class="co1">// C++20</span>
|
|
<span class="kw1">typedef</span> basic_osyncstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wosyncstream<span class="sy4">;</span> <span class="co1">// C++20</span>
|
|
|
|
<span class="kw1">typedef</span> basic_ispanstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ispanstream<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_ispanstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wispanstream<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_ospanstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> ospanstream<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_ospanstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wospanstream<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_spanstream<span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span> spanstream<span class="sy4">;</span> <span class="co1">// C++23</span>
|
|
<span class="kw1">typedef</span> basic_spanstream<span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span> wspanstream<span class="sy4">;</span> <span class="co1">// C++23</span></pre></div>
|
|
</div>
|
|
<h4><span class="mw-headline" id=".E9.A2.84.E5.AE.9A.E4.B9.89.E6.A0.87.E5.87.86.E6.B5.81.E5.AF.B9.E8.B1.A1">预定义标准流对象</span></h4>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-iostream.html"><iostream></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-cin.html"><span class="t-lines"><span>cin</span><span>wcin</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>从标准 C 输入流 <span class="t-lc"><a href="cpp-io-c.html">stdin</a></span> 中读取<br />
|
|
<span class="t-mark">(全局对象)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-cout.html"><span class="t-lines"><span>cout</span><span>wcout</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>写入到标准 C 输出流 <span class="t-lc"><a href="cpp-io-c.html">stdout</a></span><br />
|
|
<span class="t-mark">(全局对象)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-cerr.html"><span class="t-lines"><span>cerr</span><span>wcerr</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>写入到标准 C 错误流 <span class="t-lc"><a href="cpp-io-c.html">stderr</a></span>, 无缓冲<br />
|
|
<span class="t-mark">(全局对象)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-clog.html"><span class="t-lines"><span>clog</span><span>wclog</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>写入到标准 C 错误流 <span class="t-lc"><a href="cpp-io-c.html">stderr</a></span><br />
|
|
<span class="t-mark">(全局对象)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h4><span class="mw-headline" id="I.2FO_.E6.93.8D.E7.BA.B5.E7.AC.A6"><a href="cpp-io-manip.html">I/O 操纵符</a></span></h4>
|
|
<p>基于流的 I/O 库用 <a href="cpp-io-manip.html">I/O 操纵符</a>(例如 <span class="t-lc"><a href="cpp-io-manip-boolalpha.html">std::boolalpha</a></span> 、 <span class="t-lc"><a href="cpp-io-manip-hex.html">std::hex</a></span> 等)控制流的行为。</p>
|
|
<h4><span class="mw-headline" id=".E7.B1.BB.E5.9E.8B">类型</span></h4>
|
|
<p>定义下列辅助类型:</p>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-ios.html"><ios></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-streamoff.html"><span class="t-lines"><span>streamoff</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>表示相对的文件/流位置(距 fpos 的偏移),足以表示任何文件大小<br />
|
|
<span class="t-mark">(typedef)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-streamsize.html"><span class="t-lines"><span>streamsize</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>表示一次 I/O 操作中转移的字符数或 I/O 缓冲区的大小<br />
|
|
<span class="t-mark">(typedef)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-fpos.html"><span class="t-lines"><span>fpos</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>表示流或文件中的绝对位置<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
</table>
|
|
<p>提供下列 <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-multibyte-mbstate_t.html"><span class="kw1179">std::<span class="me2">mbstate_t</span></span></a><span class="sy1">></span></span></span> 的 typedef 名:</p>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-iosfwd.html"><iosfwd></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc-hitem">
|
|
<td>Type</td>
|
|
<td>Definition</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>streampos</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-char_traits.html"><span class="kw1267">std::<span class="me2">char_traits</span></span></a><span class="sy1"><</span><span class="kw4">char</span><span class="sy1">></span><span class="sy4">::</span><span class="me2">state_type</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>wstreampos</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-char_traits.html"><span class="kw1267">std::<span class="me2">char_traits</span></span></a><span class="sy1"><</span><span class="kw4">wchar_t</span><span class="sy1">></span><span class="sy4">::</span><span class="me2">state_type</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>u8streampos</code> <span class="t-mark-rev t-since-cxx20">(C++20)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-char_traits.html"><span class="kw1267">std::<span class="me2">char_traits</span></span></a><span class="sy1"><</span>char8_t<span class="sy1">></span><span class="sy4">::</span><span class="me2">state_type</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>u16streampos</code> <span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-char_traits.html"><span class="kw1267">std::<span class="me2">char_traits</span></span></a><span class="sy1"><</span><span class="kw4">char16_t</span><span class="sy1">></span><span class="sy4">::</span><span class="me2">state_type</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>u32streampos</code> <span class="t-mark-rev t-since-cxx11">(C++11)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-fpos.html"><span class="kw1805">std::<span class="me2">fpos</span></span></a><span class="sy1"><</span><a href="cpp-string-char_traits.html"><span class="kw1267">std::<span class="me2">char_traits</span></span></a><span class="sy1"><</span><span class="kw4">char32_t</span><span class="sy1">></span><span class="sy4">::</span><span class="me2">state_type</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
</table>
|
|
<h4><span class="mw-headline" id=".E9.94.99.E8.AF.AF.E7.B1.BB.E5.88.AB.E6.8E.A5.E5.8F.A3">错误类别接口</span></h4>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-header">
|
|
<td colspan="2">
|
|
<div>定义于头文件 <code><a href="cpp-header-ios.html"><ios></a></code></div>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-io_errc.html"><span class="t-lines"><span>io_errc</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>IO 流的错误码<br />
|
|
<span class="t-mark">(枚举)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-iostream_category.html"><span class="t-lines"><span>iostream_category</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>鉴别 iostream 错误类别<br />
|
|
<span class="t-mark">(函数)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id="C_.E9.A3.8E.E6.A0.BC_I.2FO"><a href="cpp-io-c.html">C 风格 I/O</a></span></h3>
|
|
<p>C++ 亦包含 <a href="cpp-io-c.html">C 所定义的输入/输出函数</a>,如 <span class="t-lc"><a href="cpp-io-c-fopen.html">std::fopen</a></span> 、 <span class="t-lc"><a href="cpp-io-c-fgetc.html">std::getc</a></span> 等。</p>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|