zoukankan      html  css  js  c++  java
  • vs2010 unicode 下类型转换CString,char*,char,string,int,double

    Unicode下 string 转 CString

    [cpp] view plaincopy
     
    1. string msg = "";  
    2. CString cs;  
    3. cs.Format(_T("%s"),CStringW(msg.c_str())); //CStringW是为了防止乱码  

    Unicode下CString转换为char *

    [cpp] view plaincopy
     
    1. //方法一:使用API:WideCharToMultiByte进行转换  
    2.               CString str = _T("D:\校内项目\QQ.bmp");  
    3.             //注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的  
    4.               int n = str.GetLength();     // n = 14, len = 18  
    5.              //获取宽字节字符的大小,大小是按字节计算的  
    6.              int len = WideCharToMultiByte(CP_ACP,0,str,str.GetLength(),NULL,0,NULL,NULL);  
    7.              //为多字节字符数组申请空间,数组大小为按字节计算的宽字节字节大小  
    8.             char * pFileName = new char[len+1];   //以字节为单位  
    9.             //宽字节编码转换成多字节编码  
    10.             WideCharToMultiByte(CP_ACP,0,str,str.GetLength(),pFileName,len,NULL,NULL);  
    11.              pFileName[len+1] = '';   //多字节字符以''结束  
    12. //方法二:使用函数:T2A、W2A  
    13.              CString str = _T("D:\校内项目\QQ.bmp");  
    14.               //声明标识符  
    15.              USES_CONVERSION;  
    16.              //调用函数,T2A和W2A均支持ATL和MFC中的字符转换  
    17.              char * pFileName = T2A(str);    
    18.             //char * pFileName = W2A(str); //也可实现转换  
    19.             注意:有时候可能还需要添加引用#include   <afxpriv.h>  


    Unicode下char *转换为CString

    [cpp] view plaincopy
     
    1. char *pch = "ddd";    
    2. CString cs;  
    3. cs.Format(_T("%s"),CStringW(pch));  


    Unicode下 CString类型的转换成int 

    [cpp] view plaincopy
     
    1. CString aaa = "16" ;      
    2. int int_chage = atoi((lpcstr)aaa) ;     

    unicode 下 string转换char*

    [cpp] view plaincopy
     
    1. void CegDlg::strToChar(string str,char* &ch)  //要转换的字符串str  接受*ch        
    2. {  
    3.     CString cs;  
    4.     cs.Format(_T("%s"),CStringW(str.c_str()));//先转换成cstring    
    5.     int len = WideCharToMultiByte(CP_ACP,0,cs,cs.GetLength(),NULL,0,NULL,NULL);  
    6.     char * pFileName = new char[len];    
    7.     memset(pFileName,0,sizeof(pFileName));  
    8.     WideCharToMultiByte(CP_ACP,0,cs,cs.GetLength(),pFileName,len,NULL,NULL);  
    9.     pFileName[len] = '';    
    10.     ch = pFileName;  
    11. }  


    在Unicode下的CString to double 

    [html] view plaincopy
     
    1. CSting sTemp("123.567");  
    2. double dTemp = _wtof(sTemp.GetString());  

    在Unicode下的char* 转 int

    [html] view plaincopy
     
      1. char *ch ="32";  
      2. int  i  =  atoi(ch);  
  • 相关阅读:
    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
    【提供笔试面试题参考】阿里巴巴,淘宝技术部,针对21届应届生的内推机会
    谈谈我眼中的CSDN吧
    我的2014碎碎念—学习篇、实习篇、工作篇、生活篇
    推荐几款我一直在用的chrome插件(下)
    推荐几款我一直在用的chrome插件(上)
    逛自己的微博,回顾曾经的那个“我”
    Java五道输出易错题解析(避免小错误)
    程序员和产品经理是怎么互相看的?贬低还是赞扬?
    现实中如何评判路遥《人生》中的高加林?
  • 原文地址:https://www.cnblogs.com/For-her/p/3658005.html
Copyright © 2011-2022 走看看