Files
hustoj/web/cppreference-zh/chmhelp/cpp-io-c-file.html
2025-08-01 12:57:54 +08:00

109 lines
14 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>std::FILE</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_c_FILE skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::</span>FILE</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-io.html">io</a>&lrm; | <a href="cpp-io-c.html">c</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<table class="t-dcl-begin">
<tbody>
<tr class="t-dsc-header">
<td>
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cstdio.html">&lt;cstdio&gt;</a></code></div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">typedef</span> <span class="coMULTI">/* unspecified */</span> FILE<span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#27599;&#20010; <code>std::FILE</code> &#23545;&#35937;&#20195;&#34920;&#19968;&#20010; C &#27969;&#12290;</p>
<p>C &#26631;&#20934;&#65288;&#20026; C++ &#26631;&#20934;&#25152;&#24341;&#29992;&#65289;&#19981;&#25351;&#23450; <code>std::FILE</code> &#26159;&#21542;&#20026;&#23436;&#25972;&#23545;&#35937;&#31867;&#22411;&#12290;&#24403;&#21487;&#33021;&#22797;&#21046;&#21512;&#27861;&#30340; <code>std::FILE</code> &#26102;&#65292;&#20197;&#25351;&#21521;&#36825;&#31181;&#21103;&#26412;&#30340;&#25351;&#38024;&#20026; I/O &#20989;&#25968;&#30340;&#21442;&#25968;&#23548;&#33268;&#26410;&#25351;&#23450;&#34892;&#20026;&#12290;&#25442;&#35328;&#20043; <code>std::FILE</code> &#21487;&#33021;&#22312;&#35821;&#20041;&#19978;&#19981;&#21487;&#22797;&#21046;&#12290;</p>
<p>I/O &#27969;&#33021;&#29992;&#20110;&#26080;&#26684;&#24335;&#21644;&#26377;&#26684;&#24335;&#30340;&#36755;&#20837;&#21450;&#36755;&#20986;&#12290;&#21478;&#22806;&#65292;&#22788;&#29702;&#36755;&#20837;&#36755;&#20986;&#30340;&#20989;&#25968;&#20134;&#33021;&#20026;&#26412;&#22320;&#29615;&#22659;&#25935;&#24863;&#65292;&#20197;&#25353;&#38656;&#36827;&#34892;&#23485;/&#22810;&#23383;&#33410;&#36716;&#25442;&#12290;</p>
<h3><span class="mw-headline" id=".E6.B5.81.E7.8A.B6.E6.80.81">&#27969;&#29366;&#24577;</span></h3>
<p>&#22312;&#31995;&#32479;&#25351;&#23450;&#30340;&#38656;&#35201;&#35775;&#38382;&#35774;&#22791;&#30340;&#20449;&#24687;&#65288;<i>&#20363;&#22914;</i> POSIX &#25991;&#20214;&#25551;&#36848;&#31526;&#65289;&#22806;&#65292;&#27599;&#20010; <code>std::FILE</code> &#23545;&#35937;&#30452;&#25509;&#25110;&#38388;&#25509;&#20445;&#26377;&#19979;&#21015;&#20449;&#24687;&#65306;</p>
<ol>
<li>&#23383;&#31526;&#23485;&#24230;&#65306;&#26410;&#35774;&#32622;&#12289;&#31364;&#25110;&#23485;&#12290;</li>
<li>&#22810;&#23383;&#33410;&#19982;&#23485;&#23383;&#31526;&#38388;&#36716;&#25442;&#30340;&#20998;&#26512;&#29366;&#24577;&#65288; <span class="t-lc"><a href="cpp-string-multibyte-mbstate_t.html">std::mbstate_t</a></span> &#31867;&#22411;&#23545;&#35937;&#65289;</li>
<li>&#32531;&#20914;&#29366;&#24577;&#65306;&#26080;&#32531;&#20914;&#12289;&#34892;&#32531;&#20914;&#12289;&#20840;&#32531;&#20914;&#12290;</li>
<li>&#32531;&#20914;&#21306;&#65292;&#21487;&#20026;&#22806;&#37096;&#30340;&#29992;&#25143;&#25552;&#20379;&#32531;&#20914;&#21306;&#25152;&#26367;&#25442;&#12290;</li>
<li>I/O &#27169;&#24335;&#65306;&#36755;&#20837;&#12289;&#36755;&#20986;&#25110;&#26356;&#26032;&#65288;&#20860;&#20855;&#36755;&#20837;&#19982;&#36755;&#20986;&#65289;&#12290;</li>
<li>&#20108;&#36827;&#21046;/&#25991;&#26412;&#27169;&#24335;&#25351;&#31034;&#22120;&#12290;</li>
<li>&#25991;&#20214;&#23614;&#25351;&#31034;&#22120;&#12290;</li>
<li>&#38169;&#35823;&#29366;&#24577;&#25351;&#31034;&#22120;&#12290;</li>
<li>&#25991;&#20214;&#20301;&#32622;&#25351;&#31034;&#22120;&#65292;&#21487;&#20316;&#20026; <span class="t-lc"><a href="cpp-io-c.html">std::fpos_t</a></span> &#31867;&#22411;&#23545;&#35937;&#35775;&#38382;&#65292;&#23545;&#20110;&#23485;&#27969;&#21253;&#21547;&#21078;&#26512;&#29366;&#24577;&#12290;</li>
<li><span class="t-mark-rev t-since-cxx17">(C++17)</span>&#22312;&#22810;&#20010;&#32447;&#31243;&#35835;&#12289;&#20889;&#12289;&#23547;&#20301;&#25110;&#26597;&#35810;&#27969;&#26102;&#36991;&#20813;&#25968;&#25454;&#31454;&#20105;&#30340;&#20877;&#20837;&#38145;&#12290;</li>
</ol>
<h4><span class="mw-headline" id=".E7.AA.84.E4.B8.8E.E5.AE.BD.E9.9D.A2.E5.90.91">&#31364;&#19982;&#23485;&#38754;&#21521;</span></h4>
<p>&#26032;&#25171;&#24320;&#30340;&#27969;&#26080;&#38754;&#21521;&#12290;&#39318;&#27425;&#21040; <span class="t-lc">std::fwide</span> &#30340;&#35843;&#29992;&#25110; I/O &#20989;&#25968;&#24314;&#31435;&#38754;&#21521;&#65306;&#23485; I/O &#20989;&#25968;&#20196;&#27969;&#20026;&#23485;&#38754;&#21521;&#65292;&#31364; I/O &#20989;&#25968;&#20196;&#27969;&#20026;&#31364;&#38754;&#21521;&#12290;&#19968;&#26086;&#35774;&#32622;&#65292;&#21017;&#38754;&#21521;&#21482;&#33021;&#20197; <span class="t-lc"><a href="cpp-io-c-freopen.html">std::freopen</a></span> &#26356;&#25913;&#12290;&#19981;&#33021;&#22312;&#23485;&#38754;&#21521;&#27969;&#19978;&#35843;&#29992;&#31364; I/O &#20989;&#25968;&#65292;&#19981;&#33021;&#22312;&#31364;&#38754;&#21521;&#27969;&#19978;&#35843;&#29992;&#23485; I/O &#20989;&#25968;&#12290;&#23485; I/O &#20989;&#25968;&#22312;&#23485;&#19982;&#22810;&#23383;&#33410;&#23383;&#31526;&#38388;&#65292;&#22914;&#21516;&#36890;&#36807;&#20197;&#27969;&#25152;&#25551;&#36848;&#30340;&#36716;&#25442;&#29366;&#24577;&#35843;&#29992; <span class="t-lc"><a href="cpp-string-multibyte-mbrtowc.html">std::mbrtowc</a></span> &#25110; <span class="t-lc"><a href="cpp-string-multibyte-wcrtomb.html">std::wcrtomb</a></span> &#36716;&#25442;&#12290;&#19981;&#21516;&#20110;&#31243;&#24207;&#20013;&#21512;&#27861;&#30340;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#65292;&#25991;&#20214;&#20013;&#30340;&#22810;&#23383;&#33410;&#23383;&#31526;&#21487;&#20197;&#21547;&#26377;&#23884;&#20837;&#30340;&#31354;&#23383;&#31526;&#19988;&#19981;&#24517;&#20197;&#21021;&#22987;&#36801;&#31227;&#29366;&#24577;&#24320;&#22987;&#25110;&#32467;&#26463;&#12290;</p>
<h4><span class="mw-headline" id=".E4.BA.8C.E8.BF.9B.E5.88.B6.E4.B8.8E.E6.96.87.E6.9C.AC.E6.A8.A1.E5.BC.8F">&#20108;&#36827;&#21046;&#19982;&#25991;&#26412;&#27169;&#24335;</span></h4>
<p><i>&#25991;&#26412;&#27969;</i>&#26159;&#33021;&#32452;&#21512;&#25104;&#34892;&#65288;&#38646;&#25110;&#26356;&#22810;&#23383;&#31526;&#21152;&#19978;&#32456;&#27490;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#65289;&#30340;&#26377;&#24207;&#23383;&#31526;&#24207;&#21015;&#65307;&#34892;&#33021;&#20998;&#35299;&#25104;&#38646;&#25110;&#22810;&#20010;&#23383;&#31526;&#21152;&#19968;&#20010;&#32456;&#27490;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#65288;&ldquo;&#25442;&#34892;&rdquo;&#65289;&#23383;&#31526;&#12290;&#26368;&#21518;&#19968;&#34892;&#26159;&#21542;&#35201;&#27714;&#32456;&#27490;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#12290;&#21478;&#22806;&#65292;&#21487;&#33021;&#24517;&#39035;&#22312;&#36755;&#20837;&#19982;&#36755;&#20986;&#26102;&#28155;&#21152;&#12289;&#20999;&#25442;&#25110;&#21024;&#38500;&#23383;&#31526;&#65292;&#20197;&#31526;&#21512; OS &#20013;&#30340;&#34920;&#31034;&#25991;&#26412;&#65288;&#23588;&#20854;&#26159; Windows OS &#19978;&#30340; C &#27969;&#22312;&#36755;&#20986;&#26102;&#23558; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\r</span><span class="es1">\n</span>&#39;</span></span></span> &#65292;&#36755;&#20837;&#26102;&#23558; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\r</span><span class="es1">\n</span>&#39;</span></span></span> &#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#65289;&#12290;</p>
<p>&#20165;&#33509;&#19979;&#21015;&#26465;&#20214;&#20840;&#20026;&#30495;&#65292;&#20174;&#25991;&#26412;&#27969;&#35835;&#21462;&#30340;&#25968;&#25454;&#25165;&#20445;&#35777;&#19982;&#20808;&#21069;&#20889;&#20986;&#21040;&#35813;&#25991;&#26412;&#27969;&#32773;&#27604;&#36739;&#30456;&#31561;&#65306;</p>
<ul>
<li>&#25968;&#25454;&#30001;&#25171;&#21360;&#23383;&#31526;&#21644;/&#25110;&#25511;&#21046;&#23383;&#31526; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\t</span>&#39;</span></span></span> &#21450; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#32452;&#25104;&#65288;&#23588;&#20854;&#26159; Windows OS &#19978;&#65292;&#23383;&#31526; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es5">\0</span>x1A&#39;</span></span></span> &#32456;&#27490;&#36755;&#20837;&#65289;&#12290;</li>
<li>&#26080;&#31435;&#21363;&#20026;&#31354;&#26684;&#31526;&#25152;&#21069;&#39537;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#23383;&#31526;&#65288;&#24403;&#36825;&#31181;&#36755;&#20986;&#38543;&#21518;&#20316;&#20026;&#36755;&#20837;&#35835;&#20837;&#26102;&#65292;&#36825;&#31181;&#31354;&#26684;&#23383;&#31526;&#21487;&#33021;&#28040;&#22833;&#65289;&#12290;</li>
<li>&#26411;&#23383;&#31526;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#12290;</li>
</ul>
<p><i>&#20108;&#36827;&#21046;&#27969;</i>&#26159;&#33021;&#36890;&#36879;&#22320;&#35760;&#24405;&#20869;&#37096;&#25968;&#25454;&#30340;&#26377;&#24207;&#23383;&#31526;&#24207;&#21015;&#12290;&#20174;&#20108;&#36827;&#21046;&#27969;&#35835;&#21462;&#30340;&#25968;&#25454;&#22987;&#32456;&#19982;&#20808;&#21069;&#20889;&#20986;&#21040;&#35813;&#27969;&#32773;&#27604;&#36739;&#30456;&#31561;&#65292;&#38500;&#20102;&#20801;&#35768;&#23454;&#29616;&#21518;&#38468;&#19981;&#30830;&#23450;&#25968;&#37327;&#30340;&#31354;&#23383;&#31526;&#21040;&#27969;&#32467;&#23614;&#12290;&#23485;&#20108;&#36827;&#21046;&#27969;&#19981;&#24517;&#32456;&#27490;&#20110;&#21021;&#22987;&#36801;&#31227;&#29366;&#24577;&#12290;</p>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>POSIX &#26174;&#24335;&#35201;&#27714;&#22312;&#27969;&#30340;&#38754;&#21521;&#21464;&#25104;&#23485;&#26102;&#65292;&#23558;&#24403;&#21069;&#23433;&#35013;&#30340; C &#26412;&#22320;&#29615;&#22659;&#30340; <code>LC_CTYPE</code> &#21051;&#38754;&#23384;&#20648;&#20110; <code>std::FILE</code> &#23545;&#35937;&#20013;&#65307; POSIX &#35201;&#27714;&#23558;&#27492; <code>LC_CTYPE</code> &#21051;&#38754;&#29992;&#20110;&#27492;&#27969;&#19978;&#30340;&#25152;&#26377;&#23558;&#26469; I/O &#30452;&#33267;&#38754;&#21521;&#34987;&#26356;&#25913;&#65292;&#26080;&#20851;&#20046;&#20219;&#20309;&#21040; <span class="t-lc"><a href="cpp-locale-setlocale.html">std::setlocale</a></span> &#30340;&#21518;&#32487;&#35843;&#29992;&#12290;</p>
<p>&#26377;&#24847;&#20196;&#25991;&#26412;&#30340;&#27599;&#34892;&#22343;&#30001;&#23454;&#36136;&#19978;&#20154;&#31867;&#21487;&#35835;&#30340;&#25968;&#25454;&#32452;&#25104;&#12290; POSIX &#23454;&#29616;&#19981;&#36776;&#21035;&#25991;&#26412;&#19982;&#20108;&#36827;&#21046;&#27969;&#65288;&#26080; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&#39;<span class="es1">\n</span>&#39;</span></span></span> &#25110;&#20219;&#20309;&#20854;&#20182;&#23383;&#31526;&#30340;&#29305;&#27530;&#26144;&#23556;&#65289;&#12290;</p>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin">
<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>&#25277;&#35937;&#21407;&#29983;&#35774;&#22791;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></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>&#25277;&#35937;&#21407;&#29983;&#25991;&#20214;&#35774;&#22791;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-c-std_streams.html"><span class="t-lines"><span>stdin</span><span>stdout</span><span>stderr</span></span></a></div>
</div>
</td>
<td>&#19982;&#36755;&#20837;&#27969;&#20851;&#32852;&#21040; <span class="t-c"><span class="mw-geshi cpp source-cpp">FILE<span class="sy2">*</span></span></span> &#31867;&#22411;&#34920;&#36798;&#24335;<br />
&#19982;&#36755;&#20986;&#27969;&#20851;&#32852;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp">FILE<span class="sy2">*</span></span></span> &#31867;&#22411;&#34920;&#36798;&#24335;<br />
&#19982;&#38169;&#35823;&#36755;&#20986;&#27969;&#20851;&#32852;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp">FILE<span class="sy2">*</span></span></span> &#31867;&#22411;&#34920;&#36798;&#24335;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>