从CString到int可适合Unicode环境

CString到int转换(unicode环境)

    CString   strIP ; 

    strIP =   _T("12被就34"); 
    int i   =   _ttoi(strIP);  

 

 

CString   型转化成   int   型  
   
    把   CString   类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。  
    虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用   Unicode   字符,你应该用_ttoi(),它在   ANSI   编码系统中被编译成_atoi(),而在   Unicode   编码系统中编译成_wtoi()。你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制、八 进制、十进制或十六进制),不同点在于前者转化后的数据是无符号的(unsigned),而后者相反。看下面的例子:  
   
  CString   hex   =   _T("FAB");  
  CString   decimal   =   _T("4011");  
  ASSERT(_tcstoul(hex,   0,   16)   ==   _ttoi(decimal));  

 

 

EVC下只支持UNICODE,所以方法如下:  
  CString   To   int:  
  CString   strMytry   =   _T("123");  
  int   iMytry   =   -1;  
  swscanf(strMytry,_T("%d"),&iMytry);  
   
  int   to   CString:  
  int   iMytry   =   -1;  
  CString   strMyTry   =   _T("");  
  strMytry.Format(_T("%d"),iMytry);  

你可能感兴趣的:(hex)