您好,欢迎来到世旅网。
搜索
您的当前位置:首页C++中各种类型转换总结

C++中各种类型转换总结

来源:世旅网
Introduction

Here is a few data conversion with small examples :-

Decimal Conversions

Decimal To Hex

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

sscanf(string, %04X, &your_word16); // where string = your string and // 04 = length of your string and X = hex Hex to CString

Collapse | Copy Code

CString Str; unsigned char Write_Buff[1]; Write_Buff[0] = 0x01; Str.Format(\"0x0%x\",Write_Buff[0]); COleVariant to CString

Collapse | Copy Code

CString strTemp; COleVariant Var; Var = \"FirstName\"; strTemp = Var.bstrVal; AfxMessageBox(strTemp); CString to char pointer

Collapse | Copy Code

CString MyString = \"ABCDEF\"; char * szMyString = (char *) (LPCTSTR) MyString; Collapse | Copy Code

char *pBuffer = new char[1024]; CString strBuf = \"Test\"; pBuffer = strBuf.GetBuffer(sizeof(pBuffer)); char pointer to CString

Collapse | Copy Code

char * mystring = \"12345\"; CString string = mystring; Double to CString including the fractional part

Collapse | Copy Code

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

Collapse | Copy Code

CString strValue; int decimal,sign; double dValue = 1234567101112; strValue = _ecvt(dValue,15,&decimal,&sign); CString To Double

Collapse | Copy Code

strValue = \"1211109876321\"; dValue = atof(strValue); CString to LPCSTR

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

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

Collapse | Copy Code

#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

Collapse | Copy Code

char MyArray[20]; int nValue; nValue = atoi(MyArray); Char array to float

Collapse | Copy Code

char MyArray[20]; float fValue; fValue = atof(MyArray); Char Pointer to double

Collapse | Copy Code

char *str = \" -343.23 \"; double dVal; dVal = atof( str ); Char Pointer to integer

Collapse | Copy Code

char *str = \" -343.23 \"; int iVal; iVal = atoi( str ); Char Pointer to long

Collapse | Copy Code

char *str = \"99999\"; long lVal; lVal = atol( str ); Char* to BSTR

Collapse | Copy Code

char * p = \"whatever\"; _bstr_t bstr = p; Float to WORD and Vice Versa

Collapse | Copy Code

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务