标准ANSI C库函数备忘
来源:互联网 发布:sqlserver字符串拼接 编辑:程序博客网 时间:2024/04/19 11:30
读取16进制字符串函数:strtol _CRTIMP long __cdecl strtol(const char *, char **, int); // stdlib.h void HexStrToBinary(BYTE* data, int buf_len, const char * hex_str) { char * pHex = (char *)hex_str; BYTE * pBuf = data; int len = 0; while(pHex && pHex[0] && pHex[1] && (len++ < buf_len)) { *pBuf++ = (char)strtol(pHex, &pHex, 16); } *pBuf = '/0'; } void BinaryToHexStr(char * hex_str, const BYTE* data, int len) { char * pHex = (char *)hex_str; const byte * pData = data; for (int i = 0; i < len; ++i) { sprintf(pHex, "%02x ", (byte)(*pData)); pData ++; pHex += 3; } *pHex = '/0'; } 上述方法适合从文件里面读入一大串16进制字符串数据的转换, char * pStr = "5E 34 int n[3] = {0}; sscanf(pStr, "%x %x %x", &n[0], &n[1], &n[2]);
如果数量很少而且是已知的,也可以这样转换:
如果数量很少而且是已知的,也可以这样转换:
_CRTIMP long __cdecl strtol(const char *, char **, int); // stdlib.h
void HexStrToBinary(BYTE* data, int buf_len, const char * hex_str)
{
char * pHex = (char *)hex_str;
BYTE * pBuf = data;
int len = 0;
while(pHex && pHex[0] && pHex[1] && (len++ < buf_len))
{
*pBuf++ = (char)strtol(pHex, &pHex, 16);
}
*pBuf = '/0';
}
void BinaryToHexStr(char * hex_str, const BYTE* data, int len)
{
char * pHex = (char *)hex_str;
const byte * pData = data;
for (int i = 0; i < len; ++i)
{
sprintf(pHex, "%02x ", (byte)(*pData));
pData ++;
pHex += 3;
}
*pHex = '/0';
}
上述方法适合从文件里面读入一大串16进制字符串数据的转换,
如果数量很少而且是已知的,也可以这样转换:
char * pStr = "5E 34
int n[3] = {0};
sscanf(pStr, "%x %x %x", &n[0], &n[1], &n[2]);
- 标准ANSI C库函数备忘
- 常用ANSI C标准库函数
- ANSI C(C89)标准库函数手册
- ANSI C提供的文件操作标准库函数
- 常用ANSI C语言标准库函数汇总(一)
- 常用ANSI C语言标准库函数汇总(二)
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C 标准函数库
- ANSI C 标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C标准
- 初识ANSI C标准
- ANSI C标准宏
- ANSI C的标准
- 感冒
- 统一身份认证子系统详细设计与部分实现
- 忘了捕获异常~~~~~~~~`
- 2005年1月1日 兄弟
- VB应用:在TEXTBOX中使用逗号区分数据
- 标准ANSI C库函数备忘
- 发烧
- 统一身份认证子系统数据库设计与数据访问层实现
- Asp组件中级入门与精通系列之八
- 统一身份认证子系统界面设计与实现
- 新年祝词
- 公共资源管理与共享子系统——公共资源共享模块
- 公共资源管理与共享子系统——公共资源管理模块
- 公共课成绩管理子系统