zoukankan      html  css  js  c++  java
  • C++ 常见字符处理 收录

    1.string字符串删除 字符串中 指定字符

    std::string& HTTPRequestHandlerImpl::replace_all_distinct(std::string& str, const std::string& old_value, const std::string& new_value)
            {
                for (string::size_type pos(0); pos != string::npos; pos += new_value.length())
                {
                    if ((pos = str.find(old_value, pos)) != string::npos)
                    {
                        str.replace(pos, old_value.length(), new_value);
                    }
                    else  { break; }
                }
                return   str;
            }
    
    eg:  replace_all_distinct(strring("abcde"), "cd", "dc");
    
    res: abdce

    2.string 字符串 转换 utf-8编码

    std::string string_To_UTF8(const std::string & str)  
    {  
    int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);  
     
    wchar_t * pwBuf = new wchar_t[nwLen + 1];
    ZeroMemory(pwBuf, nwLen * 2 + 2);  
     
    ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen);  
     
    int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);  
     
    char * pBuf = new char[nLen + 1];  
    ZeroMemory(pBuf, nLen + 1);  
     
    ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);  
     
    std::string retStr(pBuf);  
     
    delete []pwBuf;  
    delete []pBuf;  
     
    pwBuf = NULL;  
    pBuf = NULL;  
     
    return retStr;  
    }  

    std::string UTF8_To_string(const std::string & str)  
    {  
    int nwLen = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0);  
     
    wchar_t * pwBuf = new wchar_t[nwLen + 1];
    memset(pwBuf, 0, nwLen * 2 + 2);  
     
    MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), pwBuf, nwLen);  
     
    int nLen = WideCharToMultiByte(CP_ACP, 0, pwBuf, -1, NULL, NULL, NULL, NULL);  
     
    char * pBuf = new char[nLen + 1];  
    memset(pBuf, 0, nLen + 1);  
     
    WideCharToMultiByte(CP_ACP, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);  
     
    std::string retStr = pBuf;  
     
    delete []pBuf;  
    delete []pwBuf;  
     
    pBuf = NULL;  
    pwBuf = NULL;  
     
    return retStr;  

  • 相关阅读:
    Kubernetes服务目录的设计
    浅谈移动边缘计算
    kubernetes源码分析 -- kube-proxy
    openstack dpdk
    KVM irqfd and ioeventfd
    dpdk CUSE
    《springboot实战》丁雪峰翻译 笔记
    photoshop
    office word使用
    baidu地图api使用
  • 原文地址:https://www.cnblogs.com/xuandi/p/6774570.html
Copyright © 2011-2022 走看看