TypeChange.cpp
资源名称:sendudp.rar [点击查看]
上传用户:lx6688
上传日期:2016-01-30
资源大小:46k
文件大小:2k
源码类别:
网络截获/分析
开发平台:
Visual C++
- // TypeChange.cpp : implementation file
- //
- #include "stdafx.h"
- #include "sendudp.h"
- #include "TypeChange.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CTypeChange dialog
- CTypeChange::CTypeChange()
- {
- //{{AFX_DATA_INIT(CTypeChange)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- }
- bool CTypeChange::IsHexString(CString str)
- {
- int i;
- int strLen;
- str.TrimLeft();
- str.TrimRight();
- str.MakeUpper();
- strLen = str.GetLength();
- for(i=0; i<strLen; i++)
- {
- if((i+1)%3==0)
- {
- if(str[i]!=' ') return false;
- }
- else
- {
- if (str[i]<'0'||
- str[i]>'F'||
- (str[i]>'9'&& str[i]<'A'))
- return false;
- }
- }
- return true;
- }
- /*
- 将输入的string转换为char数组,"5d 5d 5d ab"=>{5d, 5d, 5d, ab};
- len: dest可以接受的最大长度;
- return: >=0 完成转换的长度(dest中有效值的长度)
- ==-1 输入数据格式错误
- */
- int CTypeChange::cstr2hex(CString src, char *dest, int len)
- {
- int i, srcLen, destLen;
- src.TrimLeft();
- src.TrimRight();
- src.MakeUpper();
- srcLen = src.GetLength();
- destLen = 0;
- if(!IsHexString(src))
- return -1;
- for(i=0; i<len; i++)
- {
- if(!src.IsEmpty())
- {
- //dest[i] = atoi(src);
- sscanf(src, "%x", &(dest[i]));
- destLen++;
- if (src.Delete(0,3)<3) break;
- }
- else
- break;
- }
- return destLen;
- }
- /////////////////////////////////////////////////////////////////////////////
- // CTypeChange message handlers