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
// 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