{"id":967,"date":"2022-05-28T01:07:30","date_gmt":"2022-05-27T16:07:30","guid":{"rendered":"https:\/\/mowareblog.net\/3rd\/?p=967"},"modified":"2022-07-21T08:26:47","modified_gmt":"2022-07-20T23:26:47","slug":"c-const-char-%e3%81%8b%e3%82%89const-wchar_t%e3%81%b8%e3%81%ae%e5%a4%89%e6%8f%9b","status":"publish","type":"post","link":"https:\/\/mowareblog.net\/3rd\/2022\/05\/967\/c-const-char-%e3%81%8b%e3%82%89const-wchar_t%e3%81%b8%e3%81%ae%e5%a4%89%e6%8f%9b\/","title":{"rendered":"[C++] const char* \u3068const wchar_t*\u306e\u76f8\u4e92\u5909\u63db"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Python\/C API\u3067\u3088\u304f\u4f7f\u3046\u305f\u3081\u95a2\u6570\u3092\u30ea\u30b5\u30fc\u30c1\u3057\u307e\u3057\u305f\u30022011\u5e74\u306eStackOverflow\u82f1\u8a9e\u7248\u7b49\u306b\u3044\u3044\u95a2\u6570\u304c\u3042\u308a\u307e\u3057\u305f\u306e\u3067\u62dd\u501f\u3057\u307e\u3059\u3002\u306a\u304a\u30b5\u30ed\u30b2\u30fc\u30c8\u30da\u30a2\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30ed\u30b2\u30fc\u30c8\u30da\u30a2\uff1a1\u3064\u306e\u6587\u5b57\u306b\u5bfe\u3057\u30662\u3064\u306e\u6587\u5b57\u30b3\u30fc\u30c9\u3092\u4f7f\u3063\u3066\u8868\u3055\u308c\u308b\u6587\u5b57\u3002\ud840\udc0b \ud844\ude3d \ud844\udf1b \ud845\udc6e \ud846\udcbd \ud842\udf9f \ud845\udeb4 \ud847\ude34 \ud84c\uddc4 \ud84d\uddc4\u306a\u3069\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-cpp\" data-lang=\"C++\"><code>const wchar_t* GetWC(const char* c) {\n    const size_t cSize = strlen(c)+1;\n    wchar_t* wc = new wchar_t[cSize];\n    mbstowcs (wc, c, cSize);\n\n    return wc;\n    delete [] wc;\n}\n\n--------------------------------------------------\n\/\/ string\u3078\u306e\u5909\u63db(char\u306f&quot;string.c_str()&quot;)\n\nstd::string GetStr(const wchar_t* c) {\n\n  std::string tmps;\n\n  if (c == nullptr)\n    return tmps;\n\n  size_t sz = wcslen(c);\n\n  tmps.reserve(sz*2);\n\n  const size_t CNT_MAX = 50;\n  char tmpc[CNT_MAX];\n  wchar_t tmpw[CNT_MAX];\n\n  const wchar_t* p = c;\n  while (*p) {\n    wcsncpy(tmpw, p, 1);\n    tmpw[1] = L&#39;\\0&#39;;\n    p += 1;\n    \n    wcstombs(tmpc, tmpw, CNT_MAX);\n    tmps += tmpc;\n  }\n  \n  return tmps;\n}\n\nsetlocale(LC_ALL, &quot;&quot;); \/\/ GetC\u95a2\u6570\u4f7f\u7528\u306e\u969b\u306b\u5fc5\u8981<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30de\u30eb\u30c1\u30d0\u30a4\u30c8\u6587\u5b57\u5bfe\u7b56\u3068\u306f\u8a00\u3048\u30ef\u30a4\u30c9\u6587\u5b57wchar_t\u306e\u5b58\u5728\u306f\u4f55\u3068\u3082\u3084\u3063\u304b\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" href=\"https:\/\/stackoverflow.com\/questions\/8032080\/how-to-convert-char-to-wchar-t\" data-type=\"URL\" data-id=\"https:\/\/stackoverflow.com\/questions\/8032080\/how-to-convert-char-to-wchar-t\" target=\"_blank\">\u53c2\u8003\u30b5\u30a4\u30c8<\/a><br><a href=\"https:\/\/suzulang.com\/wchar-t-char-convert\/\" data-type=\"URL\" data-id=\"https:\/\/suzulang.com\/wchar-t-char-convert\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u53c2\u8003\u30b5\u30a4\u30c82<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python\/C API\u3067\u3088\u304f\u4f7f\u3046\u305f\u3081\u95a2\u6570\u3092\u30ea\u30b5\u30fc\u30c1\u3057\u307e\u3057\u305f\u30022011\u5e74\u306eStackOverflow\u82f1\u8a9e\u7248\u7b49\u306b\u3044\u3044\u95a2\u6570\u304c\u3042\u308a\u307e\u3057\u305f\u306e\u3067\u62dd\u501f\u3057\u307e\u3059\u3002\u306a\u304a\u30b5\u30ed\u30b2\u30fc\u30c8\u30da\u30a2\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093\u3002 \u30b5\u30ed\u30b2\u30fc\u30c8\u30da\u30a2\uff1a1\u3064\u306e\u6587\u5b57\u306b\u5bfe\u3057 &hellip; <a href=\"https:\/\/mowareblog.net\/3rd\/2022\/05\/967\/c-const-char-%e3%81%8b%e3%82%89const-wchar_t%e3%81%b8%e3%81%ae%e5%a4%89%e6%8f%9b\/\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">[C++] const char* \u3068const wchar_t*\u306e\u76f8\u4e92\u5909\u63db<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[14],"tags":[],"class_list":["post-967","post","type-post","status-publish","format-standard","hentry","category-14"],"_links":{"self":[{"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/posts\/967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/comments?post=967"}],"version-history":[{"count":9,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/posts\/967\/revisions"}],"predecessor-version":[{"id":994,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/posts\/967\/revisions\/994"}],"wp:attachment":[{"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/media?parent=967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/categories?post=967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mowareblog.net\/3rd\/wp-json\/wp\/v2\/tags?post=967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}