开发SMS初学者的

源代码在线查看: 开发sms初学者的,经常用到的几个函数.txt

软件大小: 2 K
上传用户: lixuecheng
关键词: SMS 初学者
下载地址: 免注册下载 普通下载 VIP

相关代码

				开发SMS初学者的,经常用到的几个函数 
				 
				搜集-乐信   来源-【乐信工作室】 
				
				/*****************************************************************************
				* Class : Global Function
				* Function : to_MultiByte
				* Description: 把Unicode转换成多字节
				* Parameters : char* strSM -- 要转换的Unicode缓冲
				* int nLength -- Unicode缓冲的长度
				* Return : 转换后的多字节字串
				* Input : 
				* Output : 
				* History : Created by Rongdian Monday, April 29, 2002 11:03:15
				* Process : 
				******************************************************************************/
				CString to_MultiByte(char* strSM, int nLength){
				UINT nLen = 0;
				PBYTE lpszM;
				PBYTE lpszW = new BYTE[nLength];
				memcpy(lpszW, strSM, nLength);
				
				for(int i = 0; i < nLength/2; i++)
				*((unsigned short*)lpszW + i) = ntohs(*((unsigned short*)lpszW + i));
				
				nLen = WideCharToMultiByte(936, WC_COMPOSITECHECK,
				(const unsigned short*)lpszW, nLength/2, NULL, 0, NULL, NULL);
				
				lpszM = new BYTE[nLen+1];
				
				nLen = WideCharToMultiByte(936, WC_COMPOSITECHECK,
				(const unsigned short*)lpszW, nLength/2, (char*)lpszM, nLen, NULL, NULL);
				
				lpszM[nLen] = 0;
				CString csSM((LPCTSTR)lpszM, nLen);
				delete lpszM;
				delete lpszW;
				return csSM;
				}
				/*****************************************************************************
				* Class : Global Function
				* Function : to_UCS2
				* Description: 把多字节转换成Unicode
				* Parameters : char* strSM -- -- 要转换的多字节缓冲
				* int nLength -- 多字节缓冲的长度
				* Return : 转换后的Unicode字串
				******************************************************************************/
				CString to_UCS2(char* strSM, int nLength){
				CString csSM((LPCTSTR)strSM, nLength);
				
				PBYTE lpszW = NULL;
				UINT nLen = 0;
				
				nLen = MultiByteToWideChar(936, MB_PRECOMPOSED,
				(LPCTSTR)csSM, csSM.GetLength(), NULL, 0);
				
				lpszW = new BYTE[nLen * 2];
				
				nLen = MultiByteToWideChar(936, MB_PRECOMPOSED, 
				(LPCTSTR)csSM, csSM.GetLength(), (LPWSTR)lpszW, nLen);
				
				for(UINT i = 0; i < nLen; i ++)
				*((unsigned short*)lpszW + i) = htons(*((unsigned short*)lpszW + i));
				
				CString csRet((LPCTSTR)lpszW, nLen * 2);
				delete lpszW;
				return csRet;
				}
				 
				 
							

相关资源