12,630,940 members (32,977 online)
alternative version

373.7K views
141 bookmarked
Posted

# Data Conversions

, 28 Jun 2002
 Rate this:
These are a few samples of data conversions which you can use for a quick reference

## Introduction

Here are a few data conversions with small examples :-

## Decimal Conversions

### 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
```

## Conclusion

All luck and have a great time. I've checked most of the code above, but if I've been wrong somewhere, I'd like to know about it so that I can modify it. Thank you.

A list of licenses authors might use can be found here

## Share

 Founder India
No Biography provided

## You may also be interested in...

 First PrevNext
 My vote of 5 nand sharma24-Apr-13 23:35 nand sharma 24-Apr-13 23:35
 My vote of 5 lbsx30-Dec-11 21:50 lbsx 30-Dec-11 21:50
 My vote of 5 jhoesche0229-Mar-11 11:32 jhoesche02 29-Mar-11 11:32
 My vote of 5 goldenrose918-Jan-11 5:14 goldenrose9 18-Jan-11 5:14
 UTF-8 to ASCII string prashu1002-Jul-10 22:42 prashu100 2-Jul-10 22:42
 Conversion of BYTE to CString and Viceversa g_satish9-Sep-09 2:02 g_satish 9-Sep-09 2:02
 Can any one provide how to convert a BYTE to CString. If you can help me it would be great.
 Double to CString Conversion mazhar_cse12-Aug-08 21:49 mazhar_cse 12-Aug-08 21:49
 Very useful Mike Hankey13-Jul-08 13:50 Mike Hankey 13-Jul-08 13:50
 Data Conversion priestnall11-Jul-08 8:55 priestnall 11-Jul-08 8:55
 I would realy apreciate it if someone could reply before this thursday. zedon29-Apr-08 8:29 zedon 29-Apr-08 8:29
 How can i convert the CString(example: chinese font) to UTF8 ? Member 263478330-Dec-07 6:15 Member 2634783 30-Dec-07 6:15
 Conversion of CString to uchar Ramya Suvarna17-Jul-07 18:45 Ramya Suvarna 17-Jul-07 18:45
 thanx sony fernando23-May-07 20:04 sony fernando 23-May-07 20:04
 Thanx smzhaq22-May-07 5:44 smzhaq 22-May-07 5:44
 CString to const WCHAR* smzhaq22-May-07 4:37 smzhaq 22-May-07 4:37
 How to convert a CString to _bstr_t ganesa moorthy10-Apr-07 2:32 ganesa moorthy 10-Apr-07 2:32
 Re: How to convert a CString to _bstr_t J-D20-Apr-07 5:35 J-D 20-Apr-07 5:35
 How to convert CString to wstring? Sunil Jampa3-Jan-07 0:05 Sunil Jampa 3-Jan-07 0:05
 where can i find the sample conversion of WideCharToMultiByte? SKhokalay22-Sep-06 1:50 SKhokalay 22-Sep-06 1:50
 Re: where can i find the sample conversion of WideCharToMultiByte? metmac12-Aug-07 2:17 metmac1 2-Aug-07 2:17
 converting byte array to hex string [modified] ranu_hai26-Jul-06 21:43 ranu_hai 26-Jul-06 21:43
 CString usage / conversion jpl7818-May-06 1:35 jpl78 18-May-06 1:35
 Re: CString usage / conversion metmac12-Aug-07 2:32 metmac1 2-Aug-07 2:32
 Double to CString suggestion l00p1n62-Nov-05 13:50 l00p1n6 2-Nov-05 13:50
 Re: Double to CString suggestion lagsita26-Apr-06 0:19 lagsita 26-Apr-06 0:19
 Bug in Double to CString viki66625-Aug-05 1:55 viki666 25-Aug-05 1:55
 Re: Bug in Double to CString [modified] Nkwenti9-Aug-07 1:55 Nkwenti 9-Aug-07 1:55
 CString to char pointer Can Isin18-Feb-05 7:28 Can Isin 18-Feb-05 7:28
 float to char[ ] ?? anindya1234531-Jan-05 1:04 anindya12345 31-Jan-05 1:04
 char * to LPTSTR?? jerrelh16-Dec-04 0:49 jerrelh 16-Dec-04 0:49
 Re: char * to LPTSTR?? Mircea Puiu16-Dec-04 1:14 Mircea Puiu 16-Dec-04 1:14
 Re: char * to LPTSTR?? l00p1n62-Nov-05 13:32 l00p1n6 2-Nov-05 13:32
 char pointer to CString OsoPolar7-Dec-04 9:10 OsoPolar 7-Dec-04 9:10
 Re: char pointer to CString OsoPolar7-Dec-04 9:16 OsoPolar 7-Dec-04 9:16
 Re: char pointer to CString vmihalj8-Sep-05 1:13 vmihalj 8-Sep-05 1:13
 wchar to float sammyc6-Dec-04 21:55 sammyc 6-Dec-04 21:55
 Re: wchar to float Mehta Jigar21-May-06 23:05 Mehta Jigar 21-May-06 23:05
 A Simpler Way VGirish24-Sep-04 1:14 VGirish 24-Sep-04 1:14
 Re: A Simpler Way jasonslater200016-Feb-05 11:54 jasonslater2000 16-Feb-05 11:54
 Decode a UTF-8 file to a CString? d00_ape30-Aug-04 2:51 d00_ape 30-Aug-04 2:51
 Re: Decode a UTF-8 file to a CString? peterchen3-Jan-05 10:04 peterchen 3-Jan-05 10:04
 Convert BSTR to char* (unicode to ascii Anonymous7-Jan-04 7:12 Anonymous 7-Jan-04 7:12
 Re: Convert BSTR to char* (unicode to ascii Anonymous3-Feb-04 7:24 Anonymous 3-Feb-04 7:24
 Re: Convert BSTR to char* (unicode to ascii Anonymous11-Nov-04 22:15 Anonymous 11-Nov-04 22:15
 Prevent memory leaks, optimize for small strings EfimPechat24-Nov-04 5:27 EfimPechat 24-Nov-04 5:27
 Re: Convert BSTR to char* (unicode to ascii kp_9520-Jan-05 11:55 kp_95 20-Jan-05 11:55
 Re: Convert BSTR to char* (unicode to ascii Anonymous8-Feb-05 8:51 Anonymous 8-Feb-05 8:51
 Re: Convert BSTR to char* (unicode to ascii Anonymous8-Feb-05 8:53 Anonymous 8-Feb-05 8:53
 Last Visit: 31-Dec-99 19:00     Last Update: 7-Dec-16 19:41 Refresh 12 Next »