数据类型转换

Decimal To Hex(十进制转十六进制)
//  Use _itoa( ) function and set radix to 16.

char  hexstring[ 10 ]; 
int  number  =   30 ;
itoa( number, hexstring, 
16 );

//  In hexstring is 1e.
Hex To Decimal(十六进制转十进制)
//  You can use strtol function and you can specify base. 

char   *  hexstring =   " ABCDEF " ;
char   *  p;
int  number  =  strtol(hexstring,  & p, 16 );

//   A function that does this

bool  HexToDecimal ( char *  HexNumber,  int &  Number)

    
char* pStopString; 
    Number 
= strtol (HexNumber, &pStopString, 16);
    
return (bool)(Number != LONG_MAX);
}


Decimal to time(十进制转时间类型)
char   * DecToTime( float  fTime,  char   * szTime)
{
    
int nHrs, nMin, nSec; 
    fTime 
*= 3600;
    nHrs 
= (int)fTime / 3600;
    nMin 
= (int)(fTime - nHrs * 3600/ 60;
    nSec 
= (int)(fTime - nHrs * 3600 - nMin * 60);
    wsprintf(szTime, 
"%02d.%02d.%02d Hrs.Min.Sec.", nHrs, nMin, nSec);
    
return szTime;
}


String Conversions(字符串转换)

String to Hex(字符串转十六进制)
sscanf(
string % 04X,  & your_word16);
//  where string = your string and 
//  04 = length of your string and X = hex

Hex to CString(十六进制转字符串)
CString Str;
unsigned 
char  Write_Buff[ 1 ];
Write_Buff[
0 =   0x01 ;
Str.Format(
" 0x0%x " ,Write_Buff[ 0 ]);

COleVariant to CString

CString strTemp;
COleVariant Var;
Var 
=   " FirstName " ;
strTemp 
=  Var.bstrVal;
AfxMessageBox(strTemp);

CString to 
char  pointer

CString MyString 
=   " ABCDEF " ;
char   *  szMyString  =  ( char   * ) (LPCTSTR) MyString;
char   * pBuffer  =   new   char [ 1024 ];
CString strBuf 
=   " Test " ;
pBuffer 
=  strBuf.GetBuffer( sizeof (pBuffer));

char  pointer to CString

char   *  mystring  =   " 12345 " ;
CString 
string   =  mystring;
Double to CString including the fractional part
CString strValue,strInt, strDecimal;
int   decimal ,sign;
double  dValue  =   4.125 ;
strValue 
=  _fcvt(dValue, 6 , & decimal , & sign); 
    
//  Now decimal contains 1 because there is 
    
//  only one digit before the .

strInt 
=  strValue.Left( decimal );  //  strInt contains 4
strDecimal  =  strValue.Mid( decimal );  //  strDecimal contains 125

CString strFinalVal;
strFinalVal.Format(
" %s.%s " ,strInt,strDecimal); 
    
//  strFinalVal contains 4.125

Double To CString

CString strValue;
int   decimal ,sign;

double  dValue  =   123456789101112 ;
strValue 
=  _ecvt(dValue, 15 , & decimal , & sign);

CString To Double

strValue 
=   " 121110987654321 " ;
dValue 
=  atof(strValue);

CString to LPCSTR

CString str1 
=  _T( " My String " );
int  nLen  =  str1.GetLength();
LPCSTR lpszBuf 
=  str1.GetBuffer(nLen);
//  here do something with lpszBuf...........
str1.ReleaseBuffer();

CString to LPSTR

CString str 
=  _T( " My String " );
int  nLen  =  str.GetLength();
LPTSTR lpszBuf 
=  str.GetBuffer(nLen);
//  here do something with lpszBuf...........
str.ReleaseBuffer();

CString to WCHAR
*

CString str 
=   " A string here "  ;
LPWSTR lpszW 
=   new  WCHAR[ 255 ];

LPTSTR lpStr 
=  str.GetBuffer( str.GetLength() );
int  nLen  =  MultiByteToWideChar(CP_ACP,  0 ,lpStr,  - 1 , NULL, NULL);
MultiByteToWideChar(CP_ACP, 
0 , lpStr,  - 1 , lpszW, nLen);
AFunctionUsesWCHAR( lpszW );
delete[] lpszW;

LPTSTR to LPWSTR

int  nLen  =  MultiByteToWideChar(CP_ACP,  0 , lptStr,  - 1 , NULL, NULL);
MultiByteToWideChar(CP_ACP, 
0 , lptStr,  - 1 , lpwStr, nLen);

string  to BSTR

string  ss  =   " Girish " ;
BSTR _bstr_home 
=  A2BSTR(ss.c_str());

CString to BSTR

CString str 
=   " whatever "  ;
BSTR resultsString 
=  str.AllocSysString(); 

_bstr_t to CString

#include 
< ANSIAPI.H >
#include 
< comdef.h >
_bstr_t bsText(
" Hai Bayram " );
CString strName;
W2A(bsText, strName.GetBuffer(
256 ),  256 );
strName.ReleaseBuffer();
AfxMessageBox(strName);

char  szFileName[ 256 ];
GetModuleFileName(NULL,szFileName,
256 );
AfxMessageBox(szFileName);
Character arrays

Char array to integer

char  MyArray[ 20 ];
int  nValue;

nValue 
=  atoi(MyArray);

Char array to 
float

char  MyArray[ 20 ];
float  fValue;

fValue 
=  atof(MyArray);

Char Pointer to 
double

char   * str  =   "  -343.23  "
double  dVal; 
dVal 
=  atof( str );

Char Pointer to integer

char   * str  =   "  -343.23  "
int  iVal;
iVal 
=  atoi( str );

Char Pointer to 
long

char   * str  =   " 99999 "
long  lVal; 
lVal 
=  atol( str );

Char
*  to BSTR

char   *  p  =   " whatever " ;
_bstr_t bstr 
=  p;

Float to WORD and Vice Versa

float  fVar;
WORD wVar;
fVar 
=   247.346 ;
wVar 
=  (WORD)fVar;  // Converting from float to WORD. 
    
// The value in wVar would be 247

wVar 
=   247 ;
fVar 
=  ( float )fVar;  // Converting from WORD to float. 
    
// The value in fVar would be 247.00


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值