|
68 | 68 |
|
69 | 69 | </head> |
70 | 70 | <body> |
71 | | -<header data-kunai-mdinfo="{"meta": {"header": ["cstdlib"], "namespace": ["std"], "id-type": ["function"]}, "sources": [{"id": "09ad68cf80f1b31ea942f7955f5c148e8521c820", "source": "#include <iostream>\n#include <cstdlib>\n#include <clocale>\n\nint main() {\n std::setlocale(LC_ALL, \"ja_JP.UTF-8\");\n const char *str = \"\u3053\u3093\u306b\u3061\u306f\";\n int result = std::mblen(str, MB_CUR_MAX);\n std::cout << result << std::endl;\n return 0;\n}\n"}, {"id": "ab1990ecb189149772909ce3d4b8510a55045092", "source": "#include <iostream>\n#include <cstdlib>\n#include <clocale>\n\nint count_chars_mblen(const char* s) {\n std::setlocale(LC_ALL, \"ja_JP.UTF-8\");\n int count = 0;\n size_t i = 0;\n while (s[i] != '\\0') {\n int len = std::mblen(&s[i], MB_CUR_MAX);\n if (len < 0) {\n len = 1;\n }\n i += len;\n count++;\n }\n return count;\n}\n\nint main() {\n const char* str = \"\u3053\u3093\u306b\u3061\u306f\u4e16\u754c\";\n std::cout << \"\u6587\u5b57\u5217: \" << str << \"\\n\";\n std::cout << \"\u6587\u5b57\u6570: \" << count_chars_mblen(str) << \"\\n\";\n}\n"}], "page_id": ["reference", "cstdlib", "mblen"]}"> |
| 71 | +<header data-kunai-mdinfo="{"meta": {"header": ["cstdlib"], "namespace": ["std"], "id-type": ["function"]}, "sources": [{"id": "09ad68cf80f1b31ea942f7955f5c148e8521c820", "source": "#include <iostream>\n#include <cstdlib>\n#include <clocale>\n\nint main() {\n std::setlocale(LC_ALL, \"ja_JP.UTF-8\");\n const char *str = \"\u3053\u3093\u306b\u3061\u306f\";\n int result = std::mblen(str, MB_CUR_MAX);\n std::cout << result << std::endl;\n return 0;\n}\n"}, {"id": "7be15bdad0b151b009c96343780b504ee3194384", "source": "#include <iostream>\n#include <cstdlib>\n#include <clocale>\n\nint count_chars_mblen(const char* s) {\n int count = 0;\n size_t i = 0;\n while (s[i] != '\\0') {\n int len = std::mblen(&s[i], MB_CUR_MAX);\n if (len < 0) {\n len = 1;\n }\n i += len;\n count++;\n }\n return count;\n}\n\nint main() {\n std::setlocale(LC_ALL, \"ja_JP.UTF-8\");\n\n const char* str = \"\u3053\u3093\u306b\u3061\u306f\u4e16\u754c\";\n std::cout << \"\u6587\u5b57\u5217: \" << str << \"\\n\";\n std::cout << \"\u6587\u5b57\u6570: \" << count_chars_mblen(str) << \"\\n\";\n}\n"}], "page_id": ["reference", "cstdlib", "mblen"]}"> |
72 | 72 | <nav class="navbar navbar-default" role="navigation"> |
73 | 73 | <div class="container-fluid"> |
74 | 74 | <div class="navbar-header"> |
|
188 | 188 |
|
189 | 189 | <p class="text-right"><small> |
190 | 190 | 最終更新日時(UTC): |
191 | | - <span itemprop="datePublished" content="2025-12-03T00:51:04"> |
192 | | - 2025年12月03日 00時51分04秒 |
| 191 | + <span itemprop="datePublished" content="2025-12-03T01:11:53"> |
| 192 | + 2025年12月03日 01時11分53秒 |
193 | 193 | </span> |
194 | 194 | <br/> |
195 | 195 | <span itemprop="author" itemscope itemtype="http://schema.org/Person"> |
196 | | - <span itemprop="name">K10-K10</span> |
| 196 | + <span itemprop="name">Akira Takahashi</span> |
197 | 197 | </span> |
198 | 198 | が更新 |
199 | 199 | </small></p> |
@@ -248,29 +248,30 @@ <h4>出力例</h4> |
248 | 248 | <p><pre><code>3 |
249 | 249 | </code></pre></p> |
250 | 250 | <h3>文字列の文字数を計算する</h3> |
251 | | -<p><div class="yata" id="ab1990ecb189149772909ce3d4b8510a55045092"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../iostream.html"><iostream></a></span><span class="cp"></span> |
| 251 | +<p><div class="yata" id="7be15bdad0b151b009c96343780b504ee3194384"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../iostream.html"><iostream></a></span><span class="cp"></span> |
252 | 252 | <span class="cp">#include</span> <span class="cpf"><a href="../cstdlib.html"><cstdlib></a></span><span class="cp"></span> |
253 | 253 | <span class="cp">#include</span> <span class="cpf"><clocale></span><span class="cp"></span> |
254 | 254 |
|
255 | 255 | <span class="kt">int</span> <span class="nf">count_chars_mblen</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span><span class="o">*</span> <span class="n">s</span><span class="p">)</span> <span class="p">{</span> |
256 | | - <span class="n">std</span><span class="o">::</span><span class="n">setlocale</span><span class="p">(</span><span class="n">LC_ALL</span><span class="p">,</span> <span class="s">"ja_JP.UTF-8"</span><span class="p">);</span> |
257 | | - <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> |
258 | | - <span class="kt">size_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> |
259 | | - <span class="k">while</span> <span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">'\0'</span><span class="p">)</span> <span class="p">{</span> |
260 | | - <span class="kt">int</span> <span class="n">len</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">mblen</span><span class="p">(</span><span class="o">&</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">MB_CUR_MAX</span><span class="p">);</span> |
261 | | - <span class="k">if</span> <span class="p">(</span><span class="n">len</span> <span class="o"><</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> |
262 | | - <span class="n">len</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> |
263 | | - <span class="p">}</span> |
264 | | - <span class="n">i</span> <span class="o">+=</span> <span class="n">len</span><span class="p">;</span> |
265 | | - <span class="n">count</span><span class="o">++</span><span class="p">;</span> |
| 256 | + <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> |
| 257 | + <span class="kt">size_t</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> |
| 258 | + <span class="k">while</span> <span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">'\0'</span><span class="p">)</span> <span class="p">{</span> |
| 259 | + <span class="kt">int</span> <span class="n">len</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">mblen</span><span class="p">(</span><span class="o">&</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">MB_CUR_MAX</span><span class="p">);</span> |
| 260 | + <span class="k">if</span> <span class="p">(</span><span class="n">len</span> <span class="o"><</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> |
| 261 | + <span class="n">len</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> |
266 | 262 | <span class="p">}</span> |
267 | | - <span class="k">return</span> <span class="n">count</span><span class="p">;</span> |
| 263 | + <span class="n">i</span> <span class="o">+=</span> <span class="n">len</span><span class="p">;</span> |
| 264 | + <span class="n">count</span><span class="o">++</span><span class="p">;</span> |
| 265 | + <span class="p">}</span> |
| 266 | + <span class="k">return</span> <span class="n">count</span><span class="p">;</span> |
268 | 267 | <span class="p">}</span> |
269 | 268 |
|
270 | 269 | <span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> |
271 | | - <span class="k">const</span> <span class="kt">char</span><span class="o">*</span> <span class="n">str</span> <span class="o">=</span> <span class="s">"こんにちは世界"</span><span class="p">;</span> |
272 | | - <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="s">"文字列: "</span> <span class="o"><<</span> <span class="n">str</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> |
273 | | - <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="s">"文字数: "</span> <span class="o"><<</span> <span class="n">count_chars_mblen</span><span class="p">(</span><span class="n">str</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> |
| 270 | + <span class="n">std</span><span class="o">::</span><span class="n">setlocale</span><span class="p">(</span><span class="n">LC_ALL</span><span class="p">,</span> <span class="s">"ja_JP.UTF-8"</span><span class="p">);</span> |
| 271 | + |
| 272 | + <span class="k">const</span> <span class="kt">char</span><span class="o">*</span> <span class="n">str</span> <span class="o">=</span> <span class="s">"こんにちは世界"</span><span class="p">;</span> |
| 273 | + <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="s">"文字列: "</span> <span class="o"><<</span> <span class="n">str</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> |
| 274 | + <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="s">"文字数: "</span> <span class="o"><<</span> <span class="n">count_chars_mblen</span><span class="p">(</span><span class="n">str</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> |
274 | 275 | <span class="p">}</span> |
275 | 276 | </code></pre></div> |
276 | 277 | </div></p> |
|
0 commit comments