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

271 lines
26 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::to_chars, std::to_chars_result</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_utility_to_chars 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>to_chars, <span style="font-size:0.7em; line-height:130%">std::</span>to_chars_result</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-utility.html">utility</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-charconv.html">&lt;charconv&gt;</a></code></div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/*see below*/</span> value, <span class="kw4">int</span> base <span class="sy1">=</span> <span class="nu0">10</span><span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(1)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span>, <span class="kw4">char</span><span class="sy2">*</span>, <span class="kw4">bool</span>, <span class="kw4">int</span> <span class="sy1">=</span> <span class="nu0">10</span><span class="br0">)</span> <span class="sy1">=</span> delete<span class="sy4">;</span></span></div>
</td>
<td>(2)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">float</span> &nbsp; &nbsp; &nbsp; value<span class="br0">)</span><span class="sy4">;</span><br /></span>
<p>std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">double</span> &nbsp; &nbsp; &nbsp;value<span class="br0">)</span><span class="sy4">;</span><br /></p>
std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">long</span> <span class="kw4">double</span> value<span class="br0">)</span><span class="sy4">;</span></div>
</td>
<td>(3)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">float</span> &nbsp; &nbsp; &nbsp; value,<br /></span>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt<span class="br0">)</span><span class="sy4">;</span><br />
std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">double</span> &nbsp; &nbsp; &nbsp;value,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt<span class="br0">)</span><span class="sy4">;</span><br />
std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">long</span> <span class="kw4">double</span> value,<br /></p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt<span class="br0">)</span><span class="sy4">;</span></div>
</td>
<td>(4)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">float</span> &nbsp; &nbsp; &nbsp; value,<br /></span>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt, <span class="kw4">int</span> precision<span class="br0">)</span><span class="sy4">;</span><br />
std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">double</span> &nbsp; &nbsp; &nbsp;value,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt, <span class="kw4">int</span> precision<span class="br0">)</span><span class="sy4">;</span><br />
std<span class="sy4">::</span><span class="me2">to_chars_result</span> to_chars<span class="br0">(</span><span class="kw4">char</span><span class="sy2">*</span> first, <span class="kw4">char</span><span class="sy2">*</span> last, <span class="kw4">long</span> <span class="kw4">double</span> value,<br /></p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; std<span class="sy4">::</span><span class="me2">chars_format</span> fmt, <span class="kw4">int</span> precision<span class="br0">)</span><span class="sy4">;</span></div>
</td>
<td>(5)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl-h">
<td>
<div>&#36741;&#21161;&#31867;&#22411;</div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">struct</span> to_chars_result <span class="br0">{</span><br /></span>
<p>&nbsp; &nbsp; <span class="kw4">char</span><span class="sy2">*</span> ptr<span class="sy4">;</span><br />
&nbsp; &nbsp; <a href="cpp-error-errc.html"><span class="kw880">std::<span class="me2">errc</span></span></a> ec<span class="sy4">;</span><br /></p>
<span class="br0">}</span><span class="sy4">;</span></div>
</td>
<td>(6)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#36890;&#36807;&#25104;&#21151;&#22635;&#20805;&#33539;&#22260; <code>[first, last)</code> &#65292;&#36716;&#25442; <code>value</code> &#20026;&#23383;&#31526;&#20018;&#65292;&#35201;&#27714; <code>[first, last)</code> &#26159;&#21512;&#27861;&#33539;&#22260;&#12290;</p>
<div class="t-li1"><span class="t-li">1)</span> &#25972;&#25968;&#26684;&#24335;&#21270;&#20989;&#25968;&#65306; <code>value</code> &#20197;&#32473;&#23450;&#22522;&#24213; <code>base</code> &#36716;&#25442;&#25104;&#25968;&#20301;&#30340;&#23383;&#31526;&#20018;&#65288;&#26080;&#20887;&#20313;&#30340;&#21069;&#23548;&#38646;&#65289;&#12290;&#33539;&#22260; <code>10..35</code> &#65288;&#21547;&#19978;&#19979;&#38480;&#65289;&#20013;&#30340;&#25968;&#23383;&#34987;&#34920;&#31034;&#25104;&#23567;&#20889;&#23383;&#27597; <code>a..z</code> &#12290;&#33509;&#20540;&#23567;&#20110;&#38646;&#65292;&#21017;&#34920;&#31034;&#20197;&#36127;&#21495;&#36215;&#22987;&#12290;&#24211;&#25552;&#20379;&#25152;&#26377;&#26377;&#31526;&#21495;&#21450;&#26080;&#31526;&#21495;&#25972;&#25968;&#21644; <code>char</code> &#31867;&#22411;&#20316;&#20026;&#21442;&#25968; <code>value</code> &#31867;&#22411;&#30340;&#37325;&#36733;&#12290;</div>
<div class="t-li1"><span class="t-li">2)</span> <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#30340;&#37325;&#36733;&#34987;&#21024;&#38500;&#12290; <code>to_chars</code> &#25298;&#32477; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#31867;&#22411;&#21442;&#25968;&#65292;&#22240;&#20026;&#20551;&#22914;&#20801;&#35768;&#21017;&#32467;&#26524;&#20250;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;0&quot;</span></span></span>/<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;1&quot;</span></span></span> &#32780;&#38750; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;false&quot;</span></span></span>/<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;true&quot;</span></span></span> &#12290;</div>
<div class="t-li1"><span class="t-li">3)</span> &#22914;&#21516;&#29992; <span class="t-lc"><a href="cpp-io-c-fprintf.html">std::sprintf</a></span> &#20110;&#40664;&#35748;&#65288; &quot;C&quot; &#65289;&#26412;&#22320;&#29615;&#22659;&#36716;&#25442;&#20540;&#20026;&#23383;&#31526;&#20018;&#12290;&#36716;&#25442;&#25351;&#23450;&#31526;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp">f</span></span> &#25110; <span class="t-c"><span class="mw-geshi cpp source-cpp">e</span></span> &#65292;&#26681;&#25454;&#26368;&#30701;&#34920;&#31034;&#26041;&#24335;&#30340;&#35201;&#27714;&#36873;&#25321;&#65288;&#20004;&#32773;&#30456;&#24403;&#26102;&#20248;&#20808;&#36873;&#25321; <span class="t-c"><span class="mw-geshi cpp source-cpp">f</span></span> &#65289;&#65306;&#23383;&#31526;&#20018;&#34920;&#31034;&#30001;&#23567;&#25968;&#28857;&#65288;&#33509;&#23384;&#22312;&#65289;&#21069;&#33267;&#23569;&#26377;&#19968;&#20301;&#65292;&#19988;&#29992;&#23545;&#24212;&#30340; <span class="t-lc">std::from_chars</span> &#20998;&#26512;&#35813;&#34920;&#31034;&#33021;&#20934;&#30830;&#24674;&#22797;&#20540;&#30340;&#65292;&#26368;&#23567;&#25968;&#37327;&#30340;&#23383;&#31526;&#32452;&#25104;&#12290;&#33509;&#26377;&#25968;&#20010;&#36825;&#31181;&#34920;&#31034;&#65292;&#21017;&#36873;&#25321;&#21040; <code>value</code> &#30340;&#24046;&#26368;&#23567;&#32773;&#65292;&#29992;&#26681;&#25454; <span class="t-lc"><a href="cpp-types-numeric_limits-float_round_style.html">std::round_to_nearest</a></span> &#30340;&#33293;&#20837;&#35299;&#20915;&#20219;&#20309;&#21097;&#20313;&#20542;&#21521;</div>
<div class="t-li1"><span class="t-li">4)</span> &#21516; <span class="t-v">(3)</span> &#65292;&#20294;&#33509; <code>fmt</code> &#20026; <a href="cpp-utility-chars_format.html"><tt>std::chars_format::fixed</tt></a> &#21017;&#22914;&#21516;&#23545;&#24212; printf &#30340;&#36716;&#25442;&#25351;&#23450;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">f</span></span> &#65292;&#33509; <code>fmt</code> &#20026; <a href="cpp-utility-chars_format.html"><tt>std::chars_format::scientific</tt></a> &#21017;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">e</span></span> &#65292;&#33509; <code>fmt</code> &#20026; <a href="cpp-utility-chars_format.html"><tt>std::chars_format::hex</tt></a> &#21017;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">a</span></span> &#65288;&#20294;&#32467;&#26524;&#26080;&#21069;&#23548; &quot;0x&quot; &#65289;&#65292;&#19988;&#33509; <code>fmt</code> &#20026; <a href="cpp-utility-chars_format.html"><tt>chars_format::general</tt></a> &#21017;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">g</span></span> &#12290;</div>
<div class="t-li1"><span class="t-li">5)</span> &#21516; <span class="t-v">(4)</span> &#65292;&#38500;&#20102;&#31934;&#24230;&#20197;&#21442;&#25968; <code>precision</code> &#25351;&#23450;&#65292;&#32780;&#38750;&#20197;&#26368;&#30701;&#34920;&#31034;&#35201;&#27714;&#12290;</div>
<div class="t-li1"><span class="t-li">6)</span> &#36820;&#22238;&#31867;&#22411;&#65288;&#35265;&#21518;&#36848;&#36820;&#22238;&#20540;&#65289;&#12290; <code>std::to_chars_result</code> &#26080;&#22522;&#31867;&#25110; <code>ptr</code> &#12289; <code>ec</code> &#21450;&#38544;&#24335;&#22768;&#26126;&#30340;&#29305;&#27530;&#25104;&#21592;&#20989;&#25968;&#20197;&#22806;&#30340;&#25104;&#21592;&#12290;</div>
<h3><span class="mw-headline" id=".E5.8F.82.E6.95.B0">&#21442;&#25968;</span></h3>
<table class="t-par-begin">
<tr class="t-par">
<td>first, last</td>
<td>-</td>
<td>&#35201;&#20889;&#20837;&#30340;&#23383;&#31526;&#33539;&#22260;</td>
</tr>
<tr class="t-par">
<td>value</td>
<td>-</td>
<td>&#35201;&#36716;&#25442;&#21040;&#20854;&#23383;&#31526;&#20018;&#34920;&#31034;&#30340;&#20540;</td>
</tr>
<tr class="t-par">
<td>base</td>
<td>-</td>
<td>&#20351;&#29992;&#30340;&#25972;&#25968;&#22522;&#24213;&#65306; 2 &#19982; 36 &#38388;&#30340;&#20540;&#65288;&#21547;&#19978;&#19979;&#38480;&#65289;&#12290;</td>
</tr>
<tr class="t-par">
<td>fmt</td>
<td>-</td>
<td>&#20351;&#29992;&#30340;&#28014;&#28857;&#26684;&#24335;&#65292; <a href="cpp-utility-chars_format.html"><tt>std::chars_format</tt></a> &#31867;&#22411;&#30340;&#20301;&#25513;&#30721;</td>
</tr>
<tr class="t-par">
<td>precision</td>
<td>-</td>
<td>&#20351;&#29992;&#30340;&#28014;&#28857;&#31934;&#24230;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.BF.94.E5.9B.9E.E5.80.BC">&#36820;&#22238;&#20540;</span></h3>
<p>&#25104;&#21151;&#26102;&#65292;&#36820;&#22238; <code>to_chars_result</code> &#31867;&#22411;&#30340;&#20540;&#65292;&#20854; <code>ec</code> &#31561;&#20110;&#20540;&#21021;&#22987;&#21270;&#30340; <span class="t-lc"><a href="cpp-error-errc.html">std::errc</a></span> &#65292;&#19988;&#20854; <code>ptr</code> &#26159;&#25351;&#21521;&#34987;&#20889;&#20837;&#23383;&#31526;&#23614;&#21518;&#19968;&#20301;&#32622;&#30340;&#25351;&#38024;&#12290;&#27880;&#24847;&#35813;&#23383;&#31526;&#20018;<i>&#19981;</i>&#26159;&#31354;&#32456;&#27490;&#30340;&#12290;</p>
<p>&#38169;&#35823;&#26102;&#65292;&#36820;&#22238; <code>to_chars_result</code> &#31867;&#22411;&#30340;&#20540;&#65292;&#23427;&#22312; <code>ec</code> &#20445;&#26377; <span class="t-lc"><a href="cpp-error-errc.html">std::errc::value_too_large</a></span> &#20110; &#65292;&#22312; <code>ptr</code> &#20445;&#26377; <code>last</code> &#65292;&#24182;&#20110;&#33539;&#22260; <code>[first, last)</code> &#20013;&#30041;&#19979;&#26410;&#25351;&#23450;&#29366;&#24577;&#30340;&#20869;&#23481;&#12290;</p>
<div class="t-member">
<h2><span class="mw-headline" id="operator.3D.3D.28std::to_chars_result.29">operator==<small>(std::to_chars_result)</small></span></h2>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl t-since-cxx20">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">friend</span> <span class="kw4">bool</span> operator<span class="sy1">==</span><span class="br0">(</span> <span class="kw4">const</span> to_chars_result<span class="sy3">&amp;</span>, <span class="kw4">const</span> to_chars_result<span class="sy3">&amp;</span> <span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#26816;&#26597;&#20004;&#20010;&#21442;&#25968;&#30340; <code>ptr</code> &#19982; <code>ec</code> &#26159;&#21542;&#20998;&#21035;&#30456;&#31561;&#12290;</p>
<p>&#27492;&#20989;&#25968;&#23545;&#36890;&#24120;<a href="cpp-language-unqualified_lookup.html">&#26080;&#38480;&#23450;</a>&#25110;<a href="cpp-language-qualified_lookup.html">&#26377;&#38480;&#23450;&#26597;&#25214;</a>&#19981;&#21487;&#35265;&#65292;&#32780;&#21482;&#33021;&#22312; <code>std::to_chars_result</code> &#20026;&#21442;&#25968;&#30340;&#20851;&#32852;&#31867;&#26102;&#30001;<a href="cpp-language-adl.html">&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;</a>&#25214;&#21040;&#12290;</p>
<p><code>!=</code> &#36816;&#31639;&#31526;&#20174; <code>operator==</code> <a href="cpp-language-operators.html#.E5.85.B3.E7.B3.BB.E8.BF.90.E7.AE.97.E7.AC.A6">&#21512;&#25104;</a>&#12290;</p>
</div>
<h3><span class="mw-headline" id=".E5.BC.82.E5.B8.B8">&#24322;&#24120;</span></h3>
<p>&#19981;&#25243;&#20986;&#12290;</p>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>&#19981;&#21516;&#20110; C++ &#21644; C &#24211;&#20013;&#30340;&#20854;&#20182;&#26684;&#24335;&#21270;&#20989;&#25968;&#65292; <code>std::to_chars</code> &#26159;&#29420;&#31435;&#20110;&#26412;&#22320;&#29615;&#22659;&#12289;&#19981;&#20998;&#37197;&#12289;&#19981;&#25243;&#20986;&#30340;&#12290;&#23427;&#21482;&#25552;&#20379;&#20854;&#20182;&#24211;&#65288;&#20363;&#22914; <span class="t-lc"><a href="cpp-io-c-fprintf.html">std::sprintf</a></span> &#65289;&#25152;&#29992;&#31574;&#30053;&#30340;&#19968;&#20010;&#23567;&#23376;&#38598;&#12290;&#23427;&#30340;&#30446;&#30340;&#26159;&#22312;&#24120;&#35265;&#30340;&#39640;&#21534;&#21520;&#37327;&#29615;&#22659;&#65292;&#20363;&#22914;&#22522;&#20110;&#25991;&#26412;&#30340;&#20132;&#25442;&#65288; JSON &#25110; XML &#65289;&#20013;&#65292;&#20801;&#35768;&#23613;&#21487;&#33021;&#24555;&#30340;&#23454;&#29616;&#12290;</p>
<p>&#20165;&#24403;&#20004;&#20010;&#20989;&#25968;&#37117;&#26469;&#33258;&#21516;&#19968;&#23454;&#29616;&#30340;&#24773;&#20917;&#19979;&#65292;&#25165;&#20445;&#35777; <span class="t-lc">std::from_chars</span> &#33021;&#24674;&#22797;&#27599;&#20010;&#30001; <code>to_chars</code> &#26684;&#24335;&#21270;&#30340;&#28014;&#28857;&#20540;&#12290;</p>
<p>&#33509;&#24819;&#35201;&#26684;&#24335;&#21270; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#20540;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;0&quot;</span></span></span>/<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;1&quot;</span></span></span> &#65292;&#21017;&#35201;&#27714;&#23558;&#23427;&#26174;&#24335;&#36716;&#22411;&#20026;&#21478;&#19968;&#25972;&#25968;&#31867;&#22411;&#12290;</p>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<div class="t-example">
<div class="t-example-live-link"></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;iostream&gt;</span>
<span class="co2">#include &lt;charconv&gt;</span>
<span class="co2">#include &lt;system_error&gt;</span>
<span class="co2">#include &lt;string_view&gt;</span>
<span class="co2">#include &lt;array&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<a href="cpp-container-array.html"><span class="kw1268">std::<span class="me2">array</span></span></a><span class="sy1">&lt;</span><span class="kw4">char</span>, <span class="nu0">10</span><span class="sy1">&gt;</span> str<span class="sy4">;</span>
<span class="kw1">if</span><span class="br0">(</span><span class="kw4">auto</span> <span class="br0">[</span>p, ec<span class="br0">]</span> <span class="sy1">=</span> std<span class="sy4">::</span><span class="me2">to_chars</span><span class="br0">(</span>str.<span class="me1">data</span><span class="br0">(</span><span class="br0">)</span>, str.<span class="me1">data</span><span class="br0">(</span><span class="br0">)</span> <span class="sy2">+</span> str.<span class="me1">size</span><span class="br0">(</span><span class="br0">)</span>, <span class="nu0">42</span><span class="br0">)</span><span class="sy4">;</span>
ec <span class="sy1">==</span> <a href="cpp-error-errc.html"><span class="kw880">std::<span class="me2">errc</span></span></a><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a><span class="br0">(</span>str.<span class="me1">data</span><span class="br0">(</span><span class="br0">)</span>, p <span class="sy2">-</span> str.<span class="me1">data</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#36755;&#20986;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="text source-text">
<pre class="de1">42</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E7.BC.BA.E9.99.B7.E6.8A.A5.E5.91.8A">&#32570;&#38519;&#25253;&#21578;</span></h3>
<p>&#19979;&#21015;&#26356;&#25913;&#34892;&#20026;&#30340;&#32570;&#38519;&#25253;&#21578;&#36861;&#28335;&#22320;&#24212;&#29992;&#20110;&#20197;&#21069;&#20986;&#29256;&#30340; C++ &#26631;&#20934;&#12290;</p>
<table class="dsctable" style="font-size:0.8em">
<tr>
<th>DR</th>
<th>&#24212;&#29992;&#20110;</th>
<th>&#20986;&#29256;&#26102;&#30340;&#34892;&#20026;</th>
<th>&#27491;&#30830;&#34892;&#20026;</th>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue2955">LWG 2955</a></td>
<td>C++17</td>
<td>&#27492;&#20989;&#25968;&#22312; &lt;utility&gt; &#19988;&#20351;&#29992; <span class="t-lc"><a href="cpp-error-error_code.html">std::error_code</a></span></td>
<td>&#31227;&#21160;&#21040; &lt;charconv&gt; &#24182;&#20351;&#29992; <span class="t-lc"><a href="cpp-error-errc.html">std::errc</a></span></td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue3266">LWG 3266</a></td>
<td>C++17</td>
<td>&#26366;&#25509;&#21463; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#23454;&#21442;&#24182;&#23558;&#23427;&#25552;&#21319;&#21040; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span></td>
<td>&#30001;&#34987;&#21024;&#38500;&#30340;&#37325;&#36733;&#25298;&#32477;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue3373">LWG 3373</a></td>
<td>C++17</td>
<td><code>to_chars_result</code> &#21487;&#33021;&#25317;&#26377;&#39069;&#22806;&#30340;&#25104;&#21592;</td>
<td>&#31105;&#27490;&#39069;&#22806;&#30340;&#25104;&#21592;</td>
</tr>
</table>
<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-utility-from_chars.html"><span class="t-lines"><span>from_chars</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#36716;&#25442;&#23383;&#31526;&#24207;&#21015;&#21040;&#25972;&#25968;&#25110;&#28014;&#28857;&#20540;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-basic_string-to_string.html"><span class="t-lines"><span>to_string</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>&#36716;&#25442;&#25972;&#25968;&#25110;&#28014;&#28857;&#20540;&#20026; <code>string</code><br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-c-fprintf.html"><span class="t-lines"><span>printf</span><span>fprintf</span><span>sprintf</span><span>snprintf</span></span></a></div>
<div><span class="t-lines"><span></span><span></span><span></span><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#25171;&#21360;&#26377;&#26684;&#24335;&#36755;&#20986;&#21040; <span class="t-lc"><a href="cpp-io-c.html">stdout</a></span>&#12289;&#25991;&#20214;&#27969;&#25110;&#32531;&#20914;&#21306;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-basic_ostream-operator_ltlt.html"><span class="t-lines"><span>operator&lt;&lt;</span></span></a></div>
</div>
</td>
<td>&#25554;&#20837;&#24102;&#26684;&#24335;&#25968;&#25454;<br />
<span class="t-mark">(<code>std::basic_ostream&lt;CharT,Traits&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>