zoukankan      html  css  js  c++  java
  • C++ Builder 6 操作unicode

    #define _countof(array) (sizeof(array) / sizeof(array[0]))
    void __fastcall TForm1::btn1Click(TObject *Sender)
    {
        wchar_t  buf[] = L"中国人民解放军";
        WideString ws = "中国人民解放军";
        WCHAR* buf2 = ws.c_bstr();
        int a = _countof(buf);
        int b = sizeof(buf);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::btn2Click(TObject *Sender)
    {
        char* buffer = "中国人民解放军";
        int cbMultiByte = strlen(buffer) + 1;
        wchar_t wbuffer[20] = {0};
        int cchWideChar = cbMultiByte;
        MultiByteToWideChar(
            CP_ACP,
            MB_PRECOMPOSED,
            buffer,
            strlen(buffer) + 1,
            wbuffer,
            strlen(buffer) + 1
        );
    
        ShowMessage(wbuffer);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::btn3Click(TObject *Sender)
    {
        wchar_t* wbuffer = L"中国人民志愿军";
        int cchWideChar = wcslen(wbuffer) + 1;
        char buffer[20] = {0};
        int cbMultiByte = cchWideChar * sizeof(wchar_t) + 1;
    
        WideCharToMultiByte(CP_ACP,
            0,
            wbuffer,
            cchWideChar,
            buffer,
            cbMultiByte,
            NULL,
            NULL);
    
    
        DWORD err = GetLastError();
        AnsiString errMsg = SysErrorMessage(err);
    
        ShowMessage(buffer);
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::btn4Click(TObject *Sender)
    {
        wchar_t* wbuffer = L"中国人民解放军第301医院";
        PVOID pvBuffer = wbuffer;
        int cb = (wcslen(wbuffer) + 1) * sizeof(wchar_t);
        BOOL bRet = IsTextUnicode(pvBuffer , cb , NULL);
    
        char* buffer = "中国人民解放军第309医院";
        pvBuffer = buffer;
        cb = (strlen(buffer) + 1) * sizeof(char);
        bRet = IsTextUnicode(pvBuffer , cb , NULL);
    }
  • 相关阅读:
    092、部署Graylog日志系统(2019-05-16 周四)
    091、万能的数据收集器 Fluentd (2019-05-15 周三)
    090、ELK完成部署和使用 (2019-05-13 周二)
    在CentOS7上无人值守安装Zabbix4.2
    089、初探ELK (2019-05-13 周一)
    34、Scrapy 知识总结
    33、豆瓣图书短评
    32、出任爬虫公司CEO(爬取职友网招聘信息)
    31、当当图书榜单爬虫
    30、吃什么不会胖
  • 原文地址:https://www.cnblogs.com/songr/p/15063528.html
Copyright © 2011-2022 走看看