MFC 各类字符与CString转换

typedef unsigned char uBit8;
typedef char Bit8; 


typedef unsigned short uBit16;
typedef short Bit16;  


typedef unsigned long  uBit32; 
typedef long Bit32;  


typedef long long Bit64;  


typedef float float32;
typedef double double64;


CString 转 bool : Bool = _ttol(CString);


CString 转 char *:
                //获取转换所需的目标缓存大小  
                DWORD dBufSize = WideCharToMultiByte(CP_ACP, 0, strFilePath,-1, NULL,0,NULL, NULL); 


                //分配目标缓存  
                char* cFunParam1 = new char[dBufSize+1];  
                memset(cFunParam1, 0, dBufSize+1);  


                //转换  
                int nRet=WideCharToMultiByte(CP_ACP, 0, strFilePath.GetBuffer(),-1, cFunParam1, dBufSize+1, NULL, NULL);  
                cFunParam1[dBufSize] = '\0';


                //函数调用
                iTempNumber = UIN_LoadUserData(iFunParam1,(unsigned char *)cFunParam1,iFunParam3);




char * 转CString:
typedef union sv_parm_data{shortsData; unsigned shortnData;unsigned longulData;longlData;float fData;}SV_PARM_DATA;
ulRet = UIN_GetSvParm(m_arSvDevCtrlData[m_iCurSVNo].uDevNo, pDisItem[iItemIndex].nNo, (unsigned char*)&m_pSvParmData[m_iCurSVNo][iItemIndex]);//结构体数组;




//刷新伺服数据
iItemIndex = iStartIndex;


for (iRow=1; iRow<=iRestCount; iRow++, iItemIndex++)
{
switch(pDisItem[iItemIndex].uType)
{
case DATA_TYPE_S: //short
strText.Format(_T("%d"), m_pSvParmData[m_iCurSVNo][iItemIndex].sData);
break;
case DATA_TYPE_US: //unsigned short
strText.Format(_T("%d"),m_pSvParmData[m_iCurSVNo][iItemIndex].nData);
break;
case DATA_TYPE_L: //long
strText.Format(_T("%d") ,m_pSvParmData[m_iCurSVNo][iItemIndex].lData);
break;
case DATA_TYPE_UL: //unsigned long
strText.Format(_T("%d") ,m_pSvParmData[m_iCurSVNo][iItemIndex].ulData);
break;
case DATA_TYPE_F: //float
case DATA_TYPE_D: //double
strText.Format(_T("%.3f") ,m_pSvParmData[m_iCurSVNo][iItemIndex].fData);
break;
default:break;
}


m_ctrlParamList.SetItemText(iRow, 3, strText);
}






uBit16转CString: strPar[1].Format(_T("%d"), usData);


 //CString转uBit32-----------------------------------//
            pAxisNo[1] = (uBit32)_ttoi(strdFunParam8);
    pEndPos[1] = ( Bit32)_ttoi(strdFunParam9);


CString 转 uBit32 :
char cTData[40] = {0};
WideCharToMultiByte(CP_ACP, NULL, CString, -1, cTData, 40, NULL, NULL);
uBit32  = atol(cTData);


float32 转CString: CString.Format(_T("%f"),float32);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值