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

297 lines
17 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>&#31354;&#32456;&#27490;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;</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_string_multibyte skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#31354;&#32456;&#27490;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-string.html">string</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#31354;&#32456;&#27490;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#65288; null-terminated multibyte string, NTMBS &#65289;&#65292;&#25110;&ldquo;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&rdquo;&#65292;&#26159;&#21518;&#38543;&#25317;&#26377;&#38646;&#20540;&#30340;&#23383;&#33410;&#65288;&#31354;&#32456;&#27490;&#23383;&#31526;&#65289;&#30340;&#38750;&#38646;&#23383;&#33410;&#24207;&#21015;&#12290;</p>
<p>&#23384;&#20648;&#20110;&#35813;&#23383;&#31526;&#20018;&#20013;&#30340;&#27599;&#20010;&#23383;&#31526;&#21487;&#33021;&#21344;&#29992;&#22810;&#20110;&#19968;&#20010;&#23383;&#33410;&#12290;&#29992;&#20110;&#34920;&#31034;&#23383;&#31526;&#30340;&#32534;&#30721;&#26159;&#26412;&#22320;&#29615;&#22659;&#38480;&#23450;&#30340;&#65306;&#23427;&#21487;&#20197;&#26159; UTF-8 &#12289; GB18030 &#12289; EUC-JP &#12289; Shift-JIS &#31561;&#12290;&#20363;&#22914;&#65292;&#23383;&#31526;&#25968;&#32452; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">{</span><span class="st0">&#39;<span class="es2">\xe4</span>&#39;</span>,<span class="st0">&#39;<span class="es2">\xbd</span>&#39;</span>,<span class="st0">&#39;<span class="es2">\xa0</span>&#39;</span>,<span class="st0">&#39;<span class="es2">\xe5</span>&#39;</span>,<span class="st0">&#39;<span class="es2">\xa5</span>&#39;</span>,<span class="st0">&#39;<span class="es2">\xbd</span>&#39;</span>,<span class="st0">&#39;<span class="es5">\0</span>&#39;</span><span class="br0">}</span></span></span> &#26159;&#19968;&#20010;&#20197;UTF8&#32534;&#30721;&#21253;&#21547; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="st0">&quot;&#20320;&#22909;&quot;</span></span></span> &#30340; NTMBS &#65306;&#39318;&#19977;&#20010;&#23383;&#33410;&#32534;&#30721;&#23383;&#31526; &quot;&#20320;&quot; &#65292;&#25509;&#19979;&#26469;&#19977;&#20010;&#23383;&#33410;&#32534;&#30721;&#23383;&#31526; &quot;&#22909;&quot; &#12290;&#32534;&#30721;&#20110; GB18030 &#30340;&#30456;&#21516;&#23383;&#31526;&#20018;&#26159;&#23383;&#31526;&#25968;&#32452; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">{</span><span class="st0">&#39;<span class="es2">\xc4</span>&#39;</span>, <span class="st0">&#39;<span class="es2">\xe3</span>&#39;</span>, <span class="st0">&#39;<span class="es2">\xba</span>&#39;</span>, <span class="st0">&#39;<span class="es2">\xc3</span>&#39;</span>, <span class="st0">&#39;<span class="es5">\0</span>&#39;</span><span class="br0">}</span></span></span> &#65292;&#20854;&#20013;&#20108;&#20010;&#23383;&#31526;&#21508;&#32534;&#30721;&#20026;&#21452;&#23383;&#33410;&#24207;&#21015;&#12290;</p>
<p>&#19968;&#20123;&#22810;&#23383;&#33410;&#32534;&#30721;&#20013;&#65292;&#20219;&#20309;&#32473;&#23450;&#30340;&#22810;&#23383;&#33410;&#23383;&#31526;&#24207;&#21015;&#21487;&#20197;&#26681;&#25454;&#20043;&#21069;&#30340;&#23383;&#33410;&#24207;&#21015;&#65292;&#31216;&#20043;&#20026;&ldquo;&#36801;&#31227;&#24207;&#21015;&rdquo;&#65292;&#34920;&#31034;&#19981;&#21516;&#30340;&#23383;&#31526;&#12290;&#36825;&#31181;&#32534;&#30721;&#34987;&#31216;&#20026;&#29366;&#24577;&#20381;&#36182;&#30340;&#65306;&#35201;&#27714;&#30693;&#26195;&#24403;&#21069;&#36801;&#31227;&#29366;&#24577;&#20197;&#36716;&#35793;&#27599;&#20010;&#23383;&#31526;&#12290; NTMBS &#20165;&#33509;&#20197;&#21021;&#22987;&#36801;&#31227;&#29366;&#24577;&#24320;&#22987;&#21450;&#32467;&#26463;&#25165;&#21512;&#27861;&#65306;&#33509;&#20351;&#29992;&#36801;&#31227;&#24207;&#21015;&#65292;&#21017;&#23545;&#24212;&#30340;&#26080;&#36801;&#31227;&#24207;&#21015;&#24517;&#39035;&#22312;&#31354;&#32456;&#27490;&#23383;&#31526;&#21069;&#23384;&#22312;&#12290;&#36825;&#31181;&#32534;&#30721;&#30340;&#20363;&#23376;&#26159; 7-bit JIS &#12289; BOCU-1 &#21450; <a rel="nofollow" class="external text" href="http://www.unicode.org/reports/tr6">SCSU</a> &#12290;</p>
<p>&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#19982;&#31354;&#32456;&#27490;&#23383;&#33410;&#23383;&#31526;&#20018;&#65288; NTBS &#65289;&#24067;&#23616;&#20860;&#23481;&#65292;&#21363;&#33021;&#29992;&#30456;&#21516;&#30340;&#35774;&#26045;&#23384;&#20648;&#12289;&#22797;&#21046;&#24182;&#26816;&#39564;&#65292;&#38500;&#20102;&#35745;&#31639;&#23383;&#31526;&#25968;&#12290;&#33509;&#24403;&#21069;&#26412;&#22320;&#29615;&#22659;&#29983;&#25928;&#65292;&#21017; I/O &#20989;&#25968;&#20134;&#22788;&#29702;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#12290;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#21487;&#29992; <span class="t-lc"><a href="cpp-locale-codecvt.html">std::codecvt</a></span> &#25104;&#21592;&#20989;&#25968;&#12289; <span class="t-lc"><a href="cpp-locale-wstring_convert.html">std::wstring_convert</a></span> &#25110;&#19979;&#21015;&#20381;&#36182;&#26412;&#22320;&#29615;&#22659;&#30340;&#36716;&#25442;&#20989;&#25968;&#19982;&#23485;&#23383;&#31526;&#20018;&#30456;&#20114;&#36716;&#25442;&#65306;</p>
<h3><span class="mw-headline" id=".E5.A4.9A.E5.AD.97.E8.8A.82.2F.E5.AE.BD.E5.AD.97.E7.AC.A6.E4.B8.B2.E8.BD.AC.E6.8D.A2">&#22810;&#23383;&#33410;/&#23485;&#23383;&#31526;&#20018;&#36716;&#25442;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cstdlib.html">&lt;cstdlib&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-multibyte-mblen.html"><span class="t-lines"><span>mblen</span></span></a></div>
</div>
</td>
<td>&#36820;&#22238;&#19979;&#19968;&#20010;&#22810;&#23383;&#33410;&#23383;&#31526;&#20013;&#30340;&#23383;&#33410;&#25968;<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-multibyte-mbtowc.html"><span class="t-lines"><span>mbtowc</span></span></a></div>
</div>
</td>
<td>&#23558;&#19979;&#19968;&#20010;&#22810;&#23383;&#33410;&#23383;&#31526;&#36716;&#25442;&#25104;&#23485;&#23383;&#31526;<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-multibyte-wctomb.html"><span class="t-lines"><span>wctomb</span></span></a></div>
</div>
</td>
<td>&#36716;&#25442;&#23485;&#23383;&#31526;&#20026;&#20854;&#22810;&#23383;&#33410;&#34920;&#31034;<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-multibyte-mbstowcs.html"><span class="t-lines"><span>mbstowcs</span></span></a></div>
</div>
</td>
<td>&#36716;&#25442;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#20026;&#23485;&#23383;&#31526;&#20018;<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-multibyte-wcstombs.html"><span class="t-lines"><span>wcstombs</span></span></a></div>
</div>
</td>
<td>&#36716;&#25442;&#23485;&#23383;&#31526;&#20018;&#20026;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cwchar.html">&lt;cwchar&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-multibyte-mbsinit.html"><span class="t-lines"><span>mbsinit</span></span></a></div>
</div>
</td>
<td>&#26816;&#26597; mbstate_t &#23545;&#35937;&#26159;&#21542;&#34920;&#31034;&#21021;&#22987;&#36801;&#31227;&#29366;&#24577;<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-multibyte-btowc.html"><span class="t-lines"><span>btowc</span></span></a></div>
</div>
</td>
<td>&#33509;&#21487;&#33021;&#65292;&#21017;&#21152;&#23485;&#21333;&#23383;&#33410;&#31364;&#23383;&#31526;&#20026;&#23485;&#23383;&#31526;<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-multibyte-wctob.html"><span class="t-lines"><span>wctob</span></span></a></div>
</div>
</td>
<td>&#33509;&#21487;&#33021;&#65292;&#21017;&#31364;&#21270;&#23485;&#23383;&#31526;&#20026;&#21333;&#23383;&#33410;&#31364;&#23383;&#31526;<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-multibyte-mbrlen.html"><span class="t-lines"><span>mbrlen</span></span></a></div>
</div>
</td>
<td>&#32473;&#23450;&#29366;&#24577;&#65292;&#36820;&#22238;&#19979;&#19968;&#20010;&#22810;&#23383;&#33410;&#23383;&#31526;&#20013;&#30340;&#23383;&#33410;&#25968;<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-multibyte-mbrtowc.html"><span class="t-lines"><span>mbrtowc</span></span></a></div>
</div>
</td>
<td>&#32473;&#23450;&#29366;&#24577;&#65292;&#36716;&#25442;&#19979;&#20010;&#22810;&#23383;&#33410;&#23383;&#31526;&#20026;&#23485;&#23383;&#31526;<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-multibyte-wcrtomb.html"><span class="t-lines"><span>wcrtomb</span></span></a></div>
</div>
</td>
<td>&#32473;&#23450;&#29366;&#24577;&#65292;&#36716;&#25442;&#23485;&#23383;&#31526;&#21040;&#20854;&#22810;&#23383;&#33410;&#34920;&#31034;<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-multibyte-mbsrtowcs.html"><span class="t-lines"><span>mbsrtowcs</span></span></a></div>
</div>
</td>
<td>&#32473;&#23450;&#29366;&#24577;&#65292;&#36716;&#25442;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#21040;&#23485;&#23383;&#31526;&#20018;<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-multibyte-wcsrtombs.html"><span class="t-lines"><span>wcsrtombs</span></span></a></div>
</div>
</td>
<td>&#32473;&#23450;&#29366;&#24577;&#65292;&#36716;&#25442;&#23485;&#23383;&#31526;&#20018;&#20026;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cuchar.html">&lt;cuchar&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-multibyte-mbrtoc8.html"><span class="t-lines"><span>mbrtoc8</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>&#36716;&#25442;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20026; UTF-8 &#32534;&#30721;<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-multibyte-c8rtomb.html"><span class="t-lines"><span>c8rtomb</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>&#36716;&#25442; UTF-8 &#23383;&#31526;&#20018;&#20026;&#31364;&#22810;&#23383;&#33410;&#32534;&#30721;<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-multibyte-mbrtoc16.html"><span class="t-lines"><span>mbrtoc16</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;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20026; UTF-16 &#32534;&#30721;<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-multibyte-c16rtomb.html"><span class="t-lines"><span>c16rtomb</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; 16 &#20301;&#23485;&#23383;&#31526;&#20026;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;<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-multibyte-mbrtoc32.html"><span class="t-lines"><span>mbrtoc32</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;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20026; UTF-32 &#32534;&#30721;<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-multibyte-c32rtomb.html"><span class="t-lines"><span>c32rtomb</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; 32 &#20301;&#23485;&#23383;&#31526;&#20026;&#31364;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E7.B1.BB.E5.9E.8B">&#31867;&#22411;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cwchar.html">&lt;cwchar&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-multibyte-mbstate_t.html"><span class="t-lines"><span>mbstate_t</span></span></a></div>
</div>
</td>
<td>&#36845;&#20195;&#22810;&#23383;&#33410;&#23383;&#31526;&#20018;&#25152;&#38656;&#30340;&#36716;&#25442;&#29366;&#24577;&#20449;&#24687;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.AE.8F">&#23439;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-climits.html">&lt;climits&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>MB_LEN_MAX</span></span></div>
</div>
</td>
<td>&#22810;&#23383;&#33410;&#23383;&#31526;&#20013;&#30340;&#26368;&#22823;&#23383;&#33410;&#25968;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cstdlib.html">&lt;cstdlib&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>MB_CUR_MAX</span></span></div>
</div>
</td>
<td>&#24403;&#21069; C &#26412;&#22320;&#29615;&#22659;&#20013;&#22810;&#23383;&#33410;&#23383;&#31526;&#30340;&#26368;&#22823;&#23383;&#33410;&#25968;<br />
<span class="t-mark">(&#23439;&#21464;&#37327;)</span></td>
</tr>
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="cpp-header-cuchar.html">&lt;cuchar&gt;</a></code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_UTF_16__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#25351;&#31034; mbrtoc16 &#19982; c16rtomb &#20351;&#29992; UTF-16 &#32534;&#30721;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><span class="t-lines"><span>__STDC_UTF_32__</span></span></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#25351;&#31034; mbrtoc32 &#19982; c32rtomb &#20351;&#29992; UTF-32 &#32534;&#30721;<br />
<span class="t-mark">(&#23439;&#24120;&#37327;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin"></table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>