Mac地址和字符串之间的转换
2011-07-22 17:07
120 查看
废话少说,直接上代码:
std::string MacToStr(UINT8 * pMac,const char chKen/* = ':'*/) { char szFormat[] = "%02X:%02X:%02X:%02X:%02X:%02X"; int nLen = strlen(szFormat); if (chKen != ':') { for (int i = 2;i < nLen;i += 3) { szFormat[i] = chKen; } } char szMac[32] = {0}; sprintf(szMac, szFormat, pMac[0], pMac[1], pMac[2], pMac[3], pMac[4], pMac[5]); std::string strRet(szMac); return strRet; } UINT8 charToData(const char ch) { switch(ch) { case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; case 'a': case 'A': return 10; case 'b': case 'B': return 11; case 'c': case 'C': return 12; case 'd': case 'D': return 13; case 'e': case 'E': return 14; case 'f': case 'F': return 15; } return 0; } bool StrToMac(const char * szMac,UINT8 * pMac) { const char * pTemp = szMac; for (int i = 0;i < 6;++i) { pMac[i] = charToData(*pTemp++) * 16; pMac[i] += charToData(*pTemp++); pTemp++; } }
相关文章推荐
- Mac地址和字符串之间的转换
- Mac地址和字符串之间的转换
- Mysql中的from_unixtime,unix_timestamp 整型与datetime 字符串之间的转换
- 如何在各种字符串类型之间进行转换(VS2010)
- java中字节数组和字符串、IO流和字节数组之间的转换
- C# 16进制与字符串、字节数组之间的转换
- Visual C++ 如何:在各种字符串类型之间进行转换
- C# 16进制与字符串、字节数组之间的转换
- unsigned int 与 字符串 之间相互转换
- 数组和字符串之间的转换
- Java学习之基本类型与字符串之间的转换
- 16进制和字符串之间转换
- C++中Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
- 字节、字符串、字节数组之间的相互转换
- LINQ 学习笔记-字符串数组与整数数组之间的转换,排序
- IP地址转换:数字与字符串之间的转换
- JSON字符串和对象之间的转换详解
- 【C#】枚举和字符串以及数字之间的互相转换
- 十六进制字符串和byte数组之间的各种转换关系
- JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)