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 #include_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
BSTR bstr;
CString temp;
LPSTR lpstr;
temp = lpstr;
bstr =
temp.AllocSysString();
CString str = CString(width);
this->m_width = atoi(str);
BSTR bsFile = CString( pszFile ).AllocSysString();
pszValue = (LPSTR)(LPCTSTR)strValue;
int op1 = atoi((LPCTSTR) m_op1);
int op2 = atoi((LPCTSTR) m_op2);
CString s;
s.Format(_T(“%0.*f”),(int)nPos);