zoukankan      html  css  js  c++  java
  • 终于搞定在VS2008中将CString转换为constchar* .

    原来用VC6.0那有这些繁琐事情啊,现在用了VC2008开始还是有些不习惯,不过VS2008对C++标准更近了,慢慢熟悉起来就会好的。最多的问题就是在VC6.0中编译通过的代码转换到2008之后报致命错误,不过大部分都能一一修改过来,最近就是碰到了CString 转 const char *的问题。

    以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以了,不过这个过程远没有6.0来的那么轻松。下面函数可以解决此问题。

    const char* CStrToChar(CString strSrc)
    {
        #ifdef UNICODE
            DWORD dwNum = WideCharToMultiByte(CP_OEMCP, NULL, strSrc.GetBuffer(0), -1, NULL, 0, NULL, FALSE);
            char *psText;
            psText = new char[dwNum];
            if (!psText)
                delete []psText;
            WideCharToMultiByte(CP_OEMCP, NULL, strSrc.GetBuffer(0), -1, psText, dwNum, NULL, FALSE);
            return (const char*)psText;
        #else
            return (LPCTSRT)strSrc;
        #endif
    }

  • 相关阅读:
    递归
    数据结构与算法-复杂度分析
    'latin-1' codec can't encode characters in position解决字符问题
    redis理解
    spring 嵌套事务问题
    Parameterized testing with any Python test framework
    分布式事务测试考虑点
    python orm / 表与model相互转换
    Python多线程、多进程
    JS运动
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589181.html
Copyright © 2011-2022 走看看