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
    }

  • 相关阅读:
    数论数论函数基础知识
    KMP入门和简单运用
    高斯消元入门
    FFT和NTT
    AC自动机入门和简单应用
    后缀自动机入门
    线段树优化建图的速成
    爱情九十七课,降低期待
    爱情九十二课,说出你的弱
    爱情八十六课,等得不是爱情
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589181.html
Copyright © 2011-2022 走看看