• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++字符串相互转换适合luaproject

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
#include <iostream>
#include <Windows.h>
#include <assert.h>
#define Main main


void wchar2char(char *Buf,const wchar_t* wchar)
{
    int len = WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), NULL, 0, NULL, NULL);
    WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), Buf, len, NULL, NULL);
}
//————————————————
//版权声明:本文为CSDN博主「bailang_zhizun」的原创文章,遵循CC 4.0 by - sa版权协议,转载请附上原文出处链接及本声明。
//原文链接:https ://blog.csdn.net/bailang_zhizun/article/details/80348282
wchar_t * char2wchar(const char* cchar)
{
    wchar_t *m_wchar;
    int len = MultiByteToWideChar(CP_ACP, 0, cchar, strlen(cchar), NULL, 0);
    m_wchar = new wchar_t[len + 1];
    MultiByteToWideChar(CP_ACP, 0, cchar, strlen(cchar), m_wchar, len);
    m_wchar[len] = '\0';
    return m_wchar;
}
void UTF82WCS(char *buf,const char* szU8)
{
    //预转换,得到所需空间的大小;
    int wcsLen = ::MultiByteToWideChar(CP_UTF8, NULL, szU8, strlen(szU8), NULL, 0);

    //分配空间要给'\0'留个空间,MultiByteToWideChar不会给'\0'空间
    wchar_t wszString[1024] = { 0 };

    //转换
    ::MultiByteToWideChar(CP_UTF8, NULL, szU8, strlen(szU8), wszString, wcsLen);

    //最后加上'\0'
    wszString[wcsLen] = '\0';

    wchar2char(buf, wszString);
}
//————————————————
//版权声明:本文为CSDN博主「游学四方」的原创文章,遵循CC 4.0 by - sa版权协议,转载请附上原文出处链接及本声明。
//原文链接:https ://blog.csdn.net/blackbattery/article/details/78244178
char* UnicodeToUtf8(const wchar_t* unicode)
{
    int len;
    len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, NULL, 0, NULL, NULL);
    char *szUtf8 = new char[90];
    memset(szUtf8, 0, len + 1);
    WideCharToMultiByte(CP_UTF8, 0, unicode, -1, szUtf8, len, NULL, NULL);
    return szUtf8;
}

int Main(int Argc,char **Argv)
{
    if (Argc == 1)
    {
        assert(false);
    }
    char buf[1024] = { 0 };
    char Buf[1024] = { 0 };

    for (int i = 0; i < Argc - 1; i++)
    {
        UTF82WCS(Buf, Argv[i + 1]);
        strcat_s(buf, Buf);
        strcat_s(buf, "\r\n");
    }
    printf(buf);

    system("pause");
    return 0;
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua rawget rawset newindex 函数定义和例子发布时间:2022-07-22
下一篇:
quick-cocos2d-x之testlua之VisibleRect.lua发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap