zoukankan      html  css  js  c++  java
  • 纪念一下VC2005的CString转化到char*事件

    昨晚很晕用vc2005将原来c#代码改到c++,其中有一句要将字符串转到数值。改后的c++统一用CString表示字符串,然而atoi函数必须传入cosnt char*作参数,折腾了1个小时还叫了几个同事来看,愣就是没有转换成功。今早再来在网上查。

    看到了别人也遇到类似问题,因用以下问题描述:

    在VC6.0可以这样转化,结果正确
    CString strName = _T("HanZhiguang");
    char szName[128];
    strcpy(szName, strName);// CStrng -〉char *
    // 或者sprintf(szName, "%s", strName);
    用strcpy 和sprintf都可以转化成功,但是在vc2005下却不能成功,
    用sprintf(szName, "%s", strName); 只能将第一个字符'H'传入szName,请高手执教。怎么将CString 转化为 char *

    解决办法:

    由于VS2005的CString中的字符是unicode的原因,可以通过更改项目设置或者可用WideCharToMultiByte函数将它转成Ansi的。接下来的转化就和VC6一样的了。

    参考:http://www.techfaqdb.org/p_12_c_9/t_5254737_c_9/

  • 相关阅读:
    msp430项目编程57
    msp430项目编程56
    msp430项目编程55
    msp430项目编程54
    msp430项目编程53
    msp430项目编程52
    msp430项目编程51
    msp430项目编程50
    msp430项目编程47
    msp430项目编程46
  • 原文地址:https://www.cnblogs.com/flyingfish/p/677979.html
Copyright © 2011-2022 走看看