6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["cstdlib"], "namespace": ["std"], "id-type": ["function"]}, "sources": [{"id": "f33c7faf4c60ed0dad5dfc6cb45a19ab328f5a5d", "source": "#include <clocale>\n#include <cstdlib>\n#include <cstring>\n#include <iostream>\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, std::strlen(str));\n std::cout << result << std::endl;\n return 0;\n}\n"}, {"id": "451eee8661bab7f820f59354d769e8183f65fd47", "source": "#include <clocale>\n#include <cstdlib>\n#include <cstring>\n#include <iostream>\n\nint count_chars_mblen(const char* s) {\n#if __cplusplus >= 201703L\n if (std::mblen(nullptr, 0) != 0) {\n std::cerr << \"count_chars_mblen: State-dependent encoding is unsupported.\" << std::endl;\n std::exit(1);\n }\n#else\n // C++14 \u4ee5\u524d: std::mblen \u5185\u90e8\u306e std::mbstate_t \u3092\u521d\u671f\u5316\u3059\u308b\u5fc5\u8981\u3042\u308a\n std::mblen(nullptr, 0);\n#fi\n\n int count = 0;\n std::size_t i = 0;\n std::size_t bytes = std::strlen(s);\n while (i < bytes) {\n int len = std::mblen(&s[i], bytes - i);\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"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["cstdlib"], "namespace": ["std"], "id-type": ["function"]}, "sources": [{"id": "f33c7faf4c60ed0dad5dfc6cb45a19ab328f5a5d", "source": "#include <clocale>\n#include <cstdlib>\n#include <cstring>\n#include <iostream>\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, std::strlen(str));\n std::cout << result << std::endl;\n return 0;\n}\n"}, {"id": "b108e63a49324ebfeac058382a56ea4a5bdcde7a", "source": "#include <clocale>\n#include <cstdlib>\n#include <cstring>\n#include <iostream>\n\nint count_chars_mblen(const char* s) {\n#if __cplusplus >= 201703L\n if (std::mblen(nullptr, 0) != 0) {\n std::cerr << \"count_chars_mblen: State-dependent encoding is unsupported.\" << std::endl;\n std::exit(1);\n }\n#else\n // C++14 \u4ee5\u524d: std::mblen \u5185\u90e8\u306e std::mbstate_t \u3092\u521d\u671f\u5316\u3059\u308b\u5fc5\u8981\u3042\u308a\n std::mblen(nullptr, 0);\n#endif\n\n int count = 0;\n std::size_t i = 0;\n std::size_t bytes = std::strlen(s);\n while (i < bytes) {\n int len = std::mblen(&s[i], bytes - i);\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"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
@@ -274,7 +274,7 @@ <h4>出力例</h4>
274274< p > < pre > < code > 3
275275</ code > </ pre > </ p >
276276< h3 > 文字列の文字数を計算する</ h3 >
277- < p > < div class ="yata " id ="451eee8661bab7f820f59354d769e8183f65fd47 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> <clocale></ span > < span class ="cp "> </ span >
277+ < p > < div class ="yata " id ="b108e63a49324ebfeac058382a56ea4a5bdcde7a "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> <clocale></ span > < span class ="cp "> </ span >
278278< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../cstdlib.html "> <cstdlib></ a > </ span > < span class ="cp "> </ span >
279279< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../cstring.html "> <cstring></ a > </ span > < span class ="cp "> </ span >
280280< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
@@ -288,7 +288,7 @@ <h3>文字列の文字数を計算する</h3>
288288< span class ="cp "> #else</ span >
289289 < span class ="c1 "> // C++14 以前: std::mblen 内部の std::mbstate_t を初期化する必要あり</ span >
290290 < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="n "> mblen</ span > < span class ="p "> (</ span > < span class ="k "> nullptr</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> );</ span >
291- < span class ="cp "> #fi </ span >
291+ < span class ="cp "> #endif </ span >
292292
293293 < span class ="kt "> int</ span > < span class ="n "> count</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
294294 < span class ="n "> < a href ="../cstddef/size_t.html "> std::size_t</ a > </ span > < span class ="n "> i</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
0 commit comments